nmi_watchdog: x86_64 count timer and hpet like i386
PATCH 1/1 nmi_watchdog: x86_64 count timer and hpet like i386
This modifies nmi_watchdog_tick behavior for x86_64 arch to consider both timer and pit/hpet IRQs just as the i386 arch does.
Without this fix a kernel crash occurs very early in the boot process if nmi_watchdog is on.
Signed-off-by David Bahi <[email protected]>
--- arch/x86_64/kernel/nmi.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
arch/x86_64/kernel/nmi.c +6 -2
@@ -369,8 +369,6 @@ int notrace __kprobes nmi_watchdog_tick( touched =1 ; } - sum =read_pda (apic_timer_irqs); -if (__get_cpu_var (nmi_touch)) {__get_cpu_var (nmi_touch) =0 ; touched =1 ;
@@ -386,6 +384,12 @@ int notrace __kprobes nmi_watchdog_tick(cpu_clear (cpu, backtrace_mask); } +/* +* Take the local apic timer and PIT/HPET into account. We don't +* know which one is active, when we have highres/dyntick on +*/ + sum =read_pda (apic_timer_irqs) +kstat_cpu (cpu).irqs[0 ]; +#ifdef CONFIG_X86_MCE /* Could check oops_in_progress here too, but it's safer not too */