Skip to content

Commit

Permalink
sparc64: Do not disable interrupts in nmi_cpu_busy()
Browse files Browse the repository at this point in the history
nmi_cpu_busy() is a SMP function call that just makes sure that all of the
cpus are spinning using cpu cycles while the NMI test runs.

It does not need to disable IRQs because we just care about NMIs executing
which will even with 'normal' IRQs disabled.

It is not legal to enable hard IRQs in a SMP cross call, in fact this bug
triggers the BUG check in irq_work_run_list():

	BUG_ON(!irqs_disabled());

Because now irq_work_run() is invoked from the tail of
generic_smp_call_function_single_interrupt().

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Aug 12, 2014
1 parent caa9199 commit 5855610
Showing 1 changed file with 0 additions and 1 deletion.
1 change: 0 additions & 1 deletion arch/sparc/kernel/nmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@ static inline unsigned int get_nmi_count(int cpu)

static __init void nmi_cpu_busy(void *data)
{
local_irq_enable_in_hardirq();
while (endflag == 0)
mb();
}
Expand Down

0 comments on commit 5855610

Please sign in to comment.