Hi.

I'm running a 10us control loop by (under vxWorks) setting one thread's 
priority to max and not yielding ever (letting other tasks run on other cores), 
but Linux seems to thwart that capability: Ubuntu swaps out my thread 
occasionally for hundreds of microseconds; Yocto prints a "[sched_delayed] 
sched: RT throttling activated" message as soon as I start my thread, so it 
seems likely that it will swap out my thread periodically (I'm not quite able 
to confirm that yet), and even the fastest thread swap that I've heard of is 
too slow.

I tried changing the kernel's Preemption Model to "No Forced Preemption 
(Server)", but that didn't remove the RT throttling message.  I browsed the 
rest of menuconfig but nothing looked related.  I read an article from 2008 
that talked about the kernel reserving 5% of the CPU for non-SCHED_FIFO tasks, 
so that's the direction and terminology I looked for in menuconfig.

So maybe disabling RT throttling is all I need to do, maybe some other approach 
is needed.  Hopefully someone will know more than I do.

Thanks!
Dave Mulder

_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to