Re: Unnecessary warnings in smp_send_stop on i386 arch.

From: Drew Moseley
Date: Wed May 17 2006 - 14:34:43 EST


On Tuesday 16 May 2006 9:56 pm, Keith Owens wrote:
> Drew Moseley (on Tue, 16 May 2006 19:43:05 -0700) wrote:
...
> >
> >I modified the i386/kernel/smp.c file to be functionally equivalent to the
> >x86_64/kernel/smp.c file to address this issue.
> >
...
>
> NAK this patch. There is a real potential deadlock if you call
> smp_call_function() with interrupts disabled, it has caused kernel
> hangs in the past. This patch removes the check for the potential
> deadlock and will allow bad code to creep back into the kernel. See
> http://lkml.org/lkml/2004/5/2/116. I find it quite disturbing that
> x86_64 has removed that check :(

So presumably the warn_on() call should be added back to the x86_64 arch?
Does that mean that the comment in the current code
* You must not call this function with disabled interrupts or from a
* hardware interrupt handler or from a bottom half handler.
* Actually there are a few legal cases, like panic.
is incorrect?

I did manage to find this thread; http://lkml.org/lkml/2004/12/2/209; which
seems related..

Does is sound reasonable then to call local_irq_enable() for the scenarios
where this will occur? Specifically, any call to smp_send_stop() where IRQ's
might be disabled may need that call to eliminate the deadlock opportunity.
Or am I just plain confused?

Drew
-
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/