Re: BUGs in 2.6.12-rc2-RT-V0.7.45-01

From: Ingo Molnar
Date: Mon May 23 2005 - 02:41:59 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/