aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-08-15 09:34:32 -0400
committerIngo Molnar <mingo@elte.hu>2008-08-15 09:35:31 -0400
commit8bb851900f5d0a79d3fddac808cc670d9894ef67 (patch)
treeba6a245195959495d5479a0cb3eae70d683e0b9e /arch
parent15636668449d4135ac77a79715ba430a81aed16d (diff)
x86, nmi: clean UP NMI watchdog failure message
clean up the failure message - and redirect people to bugzilla instead of lkml. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/nmi.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
index 919473ad4a29..abb78a2cc4ad 100644
--- a/arch/x86/kernel/nmi.c
+++ b/arch/x86/kernel/nmi.c
@@ -114,6 +114,23 @@ static __init void nmi_cpu_busy(void *data)
114} 114}
115#endif 115#endif
116 116
117static void report_broken_nmi(int cpu, int *prev_nmi_count)
118{
119 printk(KERN_CONT "\n");
120
121 printk(KERN_WARNING
122 "WARNING: CPU#%d: NMI appears to be stuck (%d->%d)!\n",
123 cpu, prev_nmi_count[cpu], get_nmi_count(cpu));
124
125 printk(KERN_WARNING
126 "Please report this to bugzilla.kernel.org,\n");
127 printk(KERN_WARNING
128 "and attach the output of the 'dmesg' command.\n");
129
130 per_cpu(wd_enabled, cpu) = 0;
131 atomic_dec(&nmi_active);
132}
133
117int __init check_nmi_watchdog(void) 134int __init check_nmi_watchdog(void)
118{ 135{
119 unsigned int *prev_nmi_count; 136 unsigned int *prev_nmi_count;
@@ -141,19 +158,8 @@ int __init check_nmi_watchdog(void)
141 for_each_online_cpu(cpu) { 158 for_each_online_cpu(cpu) {
142 if (!per_cpu(wd_enabled, cpu)) 159 if (!per_cpu(wd_enabled, cpu))
143 continue; 160 continue;
144 if (get_nmi_count(cpu) - prev_nmi_count[cpu] <= 5) { 161 if (get_nmi_count(cpu) - prev_nmi_count[cpu] <= 5)
145 printk("\n"); 162 report_broken_nmi(cpu, prev_nmi_count);
146 printk(KERN_WARNING "WARNING: CPU#%d: NMI "
147 "appears to be stuck (%d->%d)!\n",
148 cpu,
149 prev_nmi_count[cpu],
150 get_nmi_count(cpu));
151 printk(KERN_WARNING "Please report this to "
152 "linux-kernel@vger.kernel.org and attach "
153 "the output of 'dmesg' command.\n");
154 per_cpu(wd_enabled, cpu) = 0;
155 atomic_dec(&nmi_active);
156 }
157 } 163 }
158 endflag = 1; 164 endflag = 1;
159 if (!atomic_read(&nmi_active)) { 165 if (!atomic_read(&nmi_active)) {