Commit 8bb85190 authored by Ingo Molnar's avatar Ingo Molnar

x86, nmi: clean UP NMI watchdog failure message

clean up the failure message - and redirect people to bugzilla
instead of lkml.
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 15636668
...@@ -114,6 +114,23 @@ static __init void nmi_cpu_busy(void *data) ...@@ -114,6 +114,23 @@ static __init void nmi_cpu_busy(void *data)
} }
#endif #endif
static void report_broken_nmi(int cpu, int *prev_nmi_count)
{
printk(KERN_CONT "\n");
printk(KERN_WARNING
"WARNING: CPU#%d: NMI appears to be stuck (%d->%d)!\n",
cpu, prev_nmi_count[cpu], get_nmi_count(cpu));
printk(KERN_WARNING
"Please report this to bugzilla.kernel.org,\n");
printk(KERN_WARNING
"and attach the output of the 'dmesg' command.\n");
per_cpu(wd_enabled, cpu) = 0;
atomic_dec(&nmi_active);
}
int __init check_nmi_watchdog(void) int __init check_nmi_watchdog(void)
{ {
unsigned int *prev_nmi_count; unsigned int *prev_nmi_count;
...@@ -141,19 +158,8 @@ int __init check_nmi_watchdog(void) ...@@ -141,19 +158,8 @@ int __init check_nmi_watchdog(void)
for_each_online_cpu(cpu) { for_each_online_cpu(cpu) {
if (!per_cpu(wd_enabled, cpu)) if (!per_cpu(wd_enabled, cpu))
continue; continue;
if (get_nmi_count(cpu) - prev_nmi_count[cpu] <= 5) { if (get_nmi_count(cpu) - prev_nmi_count[cpu] <= 5)
printk("\n"); report_broken_nmi(cpu, prev_nmi_count);
printk(KERN_WARNING "WARNING: CPU#%d: NMI "
"appears to be stuck (%d->%d)!\n",
cpu,
prev_nmi_count[cpu],
get_nmi_count(cpu));
printk(KERN_WARNING "Please report this to "
"linux-kernel@vger.kernel.org and attach "
"the output of 'dmesg' command.\n");
per_cpu(wd_enabled, cpu) = 0;
atomic_dec(&nmi_active);
}
} }
endflag = 1; endflag = 1;
if (!atomic_read(&nmi_active)) { if (!atomic_read(&nmi_active)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment