OSDN Git Service

ARM: SMP: remove IRQ-disabling for smp_cross_call()
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 2 Dec 2010 19:16:56 +0000 (19:16 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 3 Dec 2010 08:26:31 +0000 (08:26 +0000)
As we've now removed the spinlock and bitmask, we have nothing left
which requires interrupts to be disabled when sending an IPI.  All
current IPI-sending implementations use the GIC, which also does not
require interrupts disabled when calling gic_raise_softirq().

Remove the now unnecessary IRQ disable.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/smp.c

index 78d55c6..4878e51 100644 (file)
@@ -383,16 +383,10 @@ void __init smp_prepare_boot_cpu(void)
 
 static void send_ipi_message(const struct cpumask *mask, enum ipi_msg_type msg)
 {
-       unsigned long flags;
-
-       local_irq_save(flags);
-
        /*
         * Call the platform specific cross-CPU call function.
         */
        smp_cross_call(mask, msg);
-
-       local_irq_restore(flags);
 }
 
 void arch_send_call_function_ipi_mask(const struct cpumask *mask)