Inhibit NMI watchdog when Alt-SysRq-T operation is underway
authorKonrad Rzeszutek <konrad@darnok.org>
Tue, 17 Jul 2007 11:03:56 +0000 (04:03 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 17 Jul 2007 17:23:04 +0000 (10:23 -0700)
On large memory configuration with not so fast CPUs the NMI watchdog is
triggered when memory addresses are being gathered and printed.  The code
paths for Alt-SysRq-t are sprinkled with touch_nmi_watchdog in various
places but not in this routine (or in the loop that utilizes this
function).  The patch has been tested for regression on large CPU+memory
configuration (128 logical CPUs + 224 GB) and 1,2,4,16-CPU sockets with
various memory sizes (1,2,4,6,20).

Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86_64/kernel/traps.c

index 6963b64a76caef7ce4ea5512ea3adc3677168c70..74cbeb2e99a633947d406d27537ad5fa9341af53 100644 (file)
@@ -330,6 +330,7 @@ static int print_trace_stack(void *data, char *name)
 
 static void print_trace_address(void *data, unsigned long addr)
 {
+       touch_nmi_watchdog();
        printk_address(addr);
 }