Re: 2.5.40-mm2

Robert Love
2002-10-06T22:18:06Z

On Sun, 2002-10-06 at 18:07, Andrew Morton wrote:

> > - while (base->running_timer == timer) {
> > + while (base->running_timer == timer)
> > cpu_relax();
> > - preempt_disable();
> > - preempt_enable();

I am confused as to why Ingo would put these here. He knows very well
what he is doing... surely he had a reason.

If he intended to force a preemption point here, then the lines needs to
be reversed. This assumes, of course, preemption is disabled here. But
I do not think it is.

If he just wanted to check for preemption, we have a
preempt_check_resched() which does just that (I even think he wrote
it). Note as long as interrupts are enabled this probably does not
achieve much anyhow.

So I do not know. I find it odd the solution is to completely remove
it...

Btw, I think the solution to the crash is to add a check to
cpu_online().

Robert Love