Isolspus=1 still needed?

More
10 Jan 2016 11:52 - 10 Jan 2016 11:52 #68153 by trilobyte
Hi

I installed a fresh 2.7.3 system. for older systems i made settings in grub to isolate one cpu for linuxcnc only.

i read this article:
"3. Latency Testing with 3.14 RTAI
There is a new scheduler in RTAI for 3.10 and 3.14. It no longer requires any isolcpus settings.
3.14 RTAI is in the testing stage at the time of this writing (September 2014). It should be in the official Linuxcnc release in the near future."

is the isolcpus=1 still needed in 2.7.3?

i use an intel d945cglf2 dual core atom board (hypertreading off)

best regards

peter
Last edit: 10 Jan 2016 11:52 by trilobyte.

Please Log in or Create an account to join the conversation.

More
12 Jan 2016 08:18 #68219 by trilobyte
Replied by trilobyte on topic Isolspus=1 still needed?
which RTAI Version is included in 2.7.3?
how can i check the version of the RTAI?

Please Log in or Create an account to join the conversation.

More
12 Jan 2016 11:07 #68222 by ArcEye
Replied by ArcEye on topic Isolspus=1 still needed?
The linuxcnc version is not related to the kernel or RTAI version.

There is no distro for the new rtai kernel and it only runs on Jessie .
www.linuxcnc.org/2015/11/29/new-rtai-kernel/

uname -r will tell you which kernel you are running, but it will be 3.4.9-rtai if you installed from the recent iso
The following user(s) said Thank You: trilobyte

Please Log in or Create an account to join the conversation.

More
12 Jan 2016 11:28 #68224 by trilobyte
Replied by trilobyte on topic Isolspus=1 still needed?
i have installed from the recent iso so i am probably using 3.4.9-rtai. in this case it is still reasonable to use the isolcpus=1 setting?

Please Log in or Create an account to join the conversation.

More
12 Jan 2016 12:14 #68229 by ArcEye
Replied by ArcEye on topic Isolspus=1 still needed?
If you have a dual core machine, if you are using software step generation and if that setting yields better latency.

Experiment and prove to yourself whether you need it.

Please Log in or Create an account to join the conversation.

More
12 Jan 2016 12:49 #68231 by Jake
Replied by Jake on topic Isolspus=1 still needed?
I have a fresh install and it was required for me to use it. I have a quad core machine, the latency was awful until I did that.

Please Log in or Create an account to join the conversation.

More
12 Jan 2016 13:33 #68233 by ArcEye
Replied by ArcEye on topic Isolspus=1 still needed?

I have a quad core machine


Then you should be isolating 3 cores not 1

wiki.linuxcnc.org/cgi-bin/wiki.pl?The_Is..._Parameter_And_GRUB2

Please Log in or Create an account to join the conversation.

More
12 Jan 2016 14:01 #68236 by andypugh
Replied by andypugh on topic Isolspus=1 still needed?

I have a quad core machine

Then you should be isolating 3 cores not 1


Are you sure about that?

Isolcpus remolves the specified CPUs from the SMP scheduler. My understanding is that the idea is to isolate 1 CPU to perform realtime tasks and leave the others to carry on as normal.

My understanding is that for a 4-core machine you would isolate core 3 for RTAI use, leaving cores 0,1,2 for general system tasks.

Please Log in or Create an account to join the conversation.

More
12 Jan 2016 14:17 - 12 Jan 2016 14:31 #68238 by ArcEye
Replied by ArcEye on topic Isolspus=1 still needed?

isolcpus
Scheduler options

Name

isolcpus — Isolate CPUs from the kernel scheduler.
Synopsis

isolcpus= cpu_number [, cpu_number ,...]
Description

Remove the specified CPUs, as defined by the cpu_number values, from the general kernel SMP balancing and scheduler algroithms. The only way to move a process onto or off an "isolated" CPU is via the CPU affinity syscalls. cpu_number begins at 0, so the maximum value is 1 less than the number of CPUs on the system.

This option is the preferred way to isolate CPUs. The alternative, manually setting the CPU mask of all tasks in the system, can cause problems and suboptimal load balancer performance.


It is a blunt instrument, all it does is take the other cpu's out of the equation just leaving one.
Because this one is fully engaged running Linuxcnc, all the code is in its cache, which reduces read times and lowers latency.

On a 2 core machine for example, if you have another core available, which is not fully utilised, the SMP scheduler will try to use that core when it is not busy and the rt code gets spread between the caches of the 2 cores, increasing read time and latency.

You could achieve the same with a cpu-hog process running on the second core to keep everything on the first one.

There are much more elegant ways to set cpu affinity. B)
Last edit: 12 Jan 2016 14:31 by ArcEye.

Please Log in or Create an account to join the conversation.

More
12 Jan 2016 15:44 #68242 by Jake
Replied by Jake on topic Isolspus=1 still needed?
I actually have 0,1,2 isolated right now which is producing the best numbers so far.

Please Log in or Create an account to join the conversation.

Time to create page: 0.086 seconds
Powered by Kunena Forum