Hello everyone! I just talked to Lars Segerlund over the course of a few 
private emails, we've narrowed down the "Missed scheduling deadline" problem 
for LinuxCNC with PREEMPT_RT to an issue within RTAPI. A lot of people (if not 
everyone) has this problem. I have used debian kernels, I have compiled nearly 
100 different kernels, changing settings in regards to ACPI, the RCU, every 
option that has a direct impact on latency, whether positive or negative, has 
been changing, with absolutely no change in latency.

Several kernel versions have been tried, such as the official debian PREEMPT_RT 
kernel, and several custom kernels that I configured completely from scratch 
(all options by default disabled, allowing me to turn on only the ones I need 
to boot my system) and no change what-so-ever in regards to pagefaults and 
latency.

This is no time to say "don't use gentoo" "don't compile your own kernel" "your 
kernel config is broken" etc, this is an issue that relies within the LinuxCNC 
tree. I have been hacking away at RTAI and PREEMPT_RT for a few years now to 
know how they both work, inside and out. I am not however, experienced with 
LinuxCNC itself, but I can guarantee that this issue is not relevant to Linux 
distributions, kernel releases, kernel configs, tool chain issues, and so on 
and so fourth.

After running cyclictest for hours tonight (12 threads) while in the background 
compiling kernels, GMP, GCC, GNU Mpc, all with 50 parallel compiling jobs, on 
top of all that, running a CPU burn-in utility doing excessive number crunching 
with the use of exactly 1,000 threads, with integers in the billions. Latency 
with cyclictest reached no higher than 110 microseconds, and that's with using 
the standard POSIX interval timer, and not even a fully tweaked kernel.

The latency-test program in LinuxCNC almost instantly shoots up to over 200,000 
nanoseconds upon interacting with the system at all (idling it can last a bit 
longer.) Launching LinuxCNC itself throws several errors as well, "unexpected 
real-time delay, check dmesg for details" (which for the record doesn't mention 
anything..) and basically says the same thing in the terminal window, just 
worded a bit differently.

Lars Segerlund and I are going to be tackling this issue the best we can, but 
any changes to do with LinuxCNC are going to have to be by people besides 
myself. Changes that have to do with the kernel side of things, that part I can 
do. Any additional help is greatly appreciated!

Alec Ari

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to