]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commit9a672c185fe5a7a60f9741b63eed39e67010cd0c
tree78057039596aa733ff904a36260cca3a51af6981
parentc135b75209a08b97ec85b79ee2c21b414cba9fe8
[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