[yocto] Can I disable RT throttling?

Vin Shelton acs at alumni.princeton.edu
Sat Mar 9 09:12:54 PST 2013


On Fri, Mar 8, 2013 at 10:28 PM, Bruce Ashfield
<bruce.ashfield at windriver.com> wrote:
> On 13-03-08 5:36 PM, David Mulder wrote:
>> 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.
>
>
> 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.
>
> The system is trying to save you from yourself, by throttling the
> RT task from taking the entire system down.
>
> There is work in the mainline kernel and -rt communities around cpu
> and cpu isolation (some of which we'll try and make available via
> the yocto meta-virtualization or meta-realtime layer, when they are
> ready), it goes by names such as task_nohz or adaptive_nohz. It's
> a complex problem to solve (interrupts, rcu, lapic), and there's not
> likely to be anything available in the short term.

At ELC, Steve Rostedt said that this feature is currently targeted at
the June mainline kernel release, but there's a lot of work still to
be done, so that's not a firm date.

Regards,
  Vin Shelton



More information about the yocto mailing list