[PATCH] on_each_cpu(): disable local interrupts
authorAndrew Morton <akpm@osdl.org>
Wed, 22 Mar 2006 08:08:16 +0000 (00:08 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 22 Mar 2006 15:53:59 +0000 (07:53 -0800)
commit78eef01b0fae087c5fadbd85dd4fe2918c3a015f
tree78057039596aa733ff904a36260cca3a51af6981
parentac2b898ca6fb06196a26869c23b66afe7944e52e
[PATCH] on_each_cpu(): disable local interrupts

When on_each_cpu() runs the callback on other CPUs, it runs with local
interrupts disabled.  So we should run the function with local interrupts
disabled on this CPU, too.

And do the same for UP, so the callback is run in the same environment on both
UP and SMP.  (strictly it should do preempt_disable() too, but I think
local_irq_disable is sufficiently equivalent).

Also uninlines on_each_cpu().  softirq.c was the most appropriate file I could
find, but it doesn't seem to justify creating a new file.

Oh, and fix up that comment over (under?) x86's smp_call_function().  It
drives me nuts.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/smp.c
include/linux/smp.h
kernel/softirq.c