There appears to be a spurious local_irq_enable() in the
check_nmi_watchdog() of both i386 and x86_64, I cannot see
when are interrupts being disabled before it. In fact we
seem to be allocating with GFP_KERNEL and calling
smp_call_function() just before this call, which suggests
this call to local_irq_enable() is spurious and can be
removed.
Signed-off-by: Satyam Sharma <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Andi Kleen <[email protected]>
---
arch/i386/kernel/nmi.c | 1 -
arch/x86_64/kernel/nmi.c | 1 -
2 files changed, 2 deletions(-)
---
diff -ruNp a/arch/i386/kernel/nmi.c b/arch/i386/kernel/nmi.c
--- a/arch/i386/kernel/nmi.c 2007-06-07 12:46:34.000000000 +0530
+++ b/arch/i386/kernel/nmi.c 2007-06-07 15:37:57.000000000 +0530
@@ -94,7 +94,6 @@ static int __init check_nmi_watchdog(voi
for_each_possible_cpu(cpu)
prev_nmi_count[cpu] = per_cpu(irq_stat, cpu).__nmi_count;
- local_irq_enable();
mdelay((20*1000)/nmi_hz); // wait 20 ticks
for_each_possible_cpu(cpu) {
diff -ruNp a/arch/x86_64/kernel/nmi.c b/arch/x86_64/kernel/nmi.c
--- a/arch/x86_64/kernel/nmi.c 2007-06-07 12:46:39.000000000 +0530
+++ b/arch/x86_64/kernel/nmi.c 2007-06-07 15:34:19.000000000 +0530
@@ -104,7 +104,6 @@ int __init check_nmi_watchdog (void)
for (cpu = 0; cpu < NR_CPUS; cpu++)
counts[cpu] = cpu_pda(cpu)->__nmi_count;
- local_irq_enable();
mdelay((20*1000)/nmi_hz); // wait 20 ticks
for_each_online_cpu(cpu) {
-
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]