lkml.org 
[lkml]   [2005]   [May]   [23]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 23 May 2005 09:39:32 +0200
FromIngo Molnar <>
SubjectRe: BUGs in 2.6.12-rc2-RT-V0.7.45-01
* 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