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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]