[yocto] Can I disable RT throttling?

David Mulder dmulder at lasx.com
Mon Mar 11 09:15:45 PDT 2013


Wow! Thanks, Bruce, Fredrik, and everyone, for all this useful info!

> > I'm running a 10us control loop by (under vxWorks) setting one thread's
> > priority to max and not yielding ever
> 
> <bruce.ashfield at windriver.com> wrote:
> You are looking for kernel functionality that doesn't exist yet. In
> any SMP system there are sources of cross cpu interference that can't
> be removed, if you do, the global state machines of the kernel will
> break and the system will eventually come to a halt.
> 
> That's the mainline/scalable point of view, there are plenty of "custom"
> and one off solutions to the problem, such as hotplugging the cpu out
> of the system and running in an AMP configuration where a bare metal,
> or RTOS can monopolize a CPU since the global state machines don't
> interfere. These have their advantages and disadvantages, but if you
> are coming from an existing RTOS application, they might be the
> closest options to get you the performance you are looking for.

An AMP configuration does seem like the closest thing to what the RTOS gave me.  Do you have more info about that?  Specifically, I see that I can remove a core from the scheduler ($ echo 0 > /sys/devices/system/cpu/<core number>/online), but how can I make my run my code on that core?  Do I get the code running on that core first and then remove the core, or vice-versa, or some other concept?  I do PCIe reads/writes - are those affected?  I use atomic read-write-modify locks for critical sections - will those still function correctly (I can't imagine they would break, but I thought I'd ask)?

> > 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.
> >

> <fredrik.markstrom at gmail.com> wrote:
> The RT-throttling can be disabled with:
>
> echo -1 >/proc/sys/kernel/sched_rt_runtime_us
> echo -1 >/proc/sys/kernel/sched_rt_period_us
>
> But as mentioned in the other answers things like the system tick, ipi:s
> etc. will interfere. But significantly less then the rt-throttling :)

Thanks, Fredrick!  I will try this.

Dave Mulder



More information about the yocto mailing list