![]() | |||||||||||
Messages in this thread |
* Steven Rostedt <rostedt@goodmis.org> wrote: > Hi Ingo, > > I've seen lots of complaining about the yield BUG produced by > kstopmachine, and since I'm now starting to test this on an SMP > machine, I'm seeing it too. So I've looked further into this, and > here's what I've found. > > The kstopmachine creates one thread per CPU to run on each CPU. It > sets this thread to the lowest RT priority and then spins on yield, > each thread expects to be on its designated CPU and spin until all > threads check in (all threads are on their expected CPU). The yield > is only to allow one of the other threads (of same priority) to > migrate to their expected CPU if it started on the wrong CPU. So the > use of yield here is actually correct! > > So for this special case, I've included a patch here (attached) to > allow for a call of yield when it is actually OK for a RT task to call > yield. It's called rt_yield. Take a look and see what you think. I > patched this against 45-01 since that's what I'm currently working > with. agreed - i've applied your patch and i've reworked it to be yield()/__yield(). (making it more of an internal interface - this is a valid but still quite unrobust use of scheduling features.) Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2005-05-23 09:44 [from the cache] ©2003-2008 | |||||||||||