lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Thu, 9 Nov 2006 17:19:16 -0800
From:	"Pallipadi, Venkatesh" <venkatesh.pallipadi@...el.com>
To:	"Thomas Gleixner" <tglx@...utronix.de>,
	"Andrew Morton" <akpm@...l.org>
Cc:	"LKML" <linux-kernel@...r.kernel.org>,
	"Ingo Molnar" <mingo@...e.hu>, "Len Brown" <lenb@...nel.org>,
	"John Stultz" <johnstul@...ibm.com>,
	"Arjan van de Ven" <arjan@...radead.org>,
	"Andi Kleen" <ak@...e.de>, "Roman Zippel" <zippel@...ux-m68k.org>
Subject: RE: [patch 17/19] dynticks: Fix nmi watchdog

 

>-----Original Message-----
>From: linux-kernel-owner@...r.kernel.org 
>[mailto:linux-kernel-owner@...r.kernel.org] On Behalf Of 
>Thomas Gleixner
>Sent: Thursday, November 09, 2006 3:39 PM
>To: Andrew Morton
>Cc: LKML; Ingo Molnar; Len Brown; John Stultz; Arjan van de 
>Ven; Andi Kleen; Roman Zippel
>Subject: [patch 17/19] dynticks: Fix nmi watchdog
>
>From: Thomas Gleixner <tglx@...utronix.de>
>
>The NMI watchdog implementation assumes that the local APIC timer
>interrupt is happening. This assumption is not longer true when
>high resolution timers and dynamic ticks come into play, as they
>may switch off the local APIC timer completely. Take the PIT/HPET
>interrupts into account too, to avoid false positives.
>
>Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
>Signed-off-by: Ingo Molnar <mingo@...e.hu>
>
>Index: linux-2.6.19-rc5-mm1/arch/i386/kernel/nmi.c
>===================================================================
>--- linux-2.6.19-rc5-mm1.orig/arch/i386/kernel/nmi.c	
>2006-11-09 17:47:58.000000000 +0100
>+++ linux-2.6.19-rc5-mm1/arch/i386/kernel/nmi.c	
>2006-11-09 20:52:29.000000000 +0100
>@@ -23,6 +23,7 @@
> #include <linux/dmi.h>
> #include <linux/kprobes.h>
> #include <linux/cpumask.h>
>+#include <linux/kernel_stat.h>
> 
> #include <asm/smp.h>
> #include <asm/nmi.h>
>@@ -920,9 +921,13 @@ __kprobes int nmi_watchdog_tick(struct p
> 		cpu_clear(cpu, backtrace_mask);
> 	}
> 
>-	sum = per_cpu(irq_stat, cpu).apic_timer_irqs;
>+	/*
>+	 * 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 = per_cpu(irq_stat, cpu).apic_timer_irqs + kstat_irqs(0);
> 
>-	/* if the apic timer isn't firing, this cpu isn't doing much */
>+	/* if the none of the timers isn't firing, this cpu 
>isn't doing much */
> 	if (!touched && last_irq_sums[cpu] == sum) {
> 		/*
> 		 * Ayiee, looks like this CPU is stuck ...
>

Similar change is needed for x86-64 as well. No?

Thanks,
Venki
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists