On Fri, Mar 8, 2013 at 10:28 PM, Bruce Ashfield <bruce.ashfi...@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 _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto