Message ID | 20090906.175259.243140550.davem@davemloft.net |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
David Miller a écrit : > [great explanation snipped] > --- a/arch/sparc/kernel/nmi.c > +++ b/arch/sparc/kernel/nmi.c > @@ -103,7 +103,7 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs) > } > if (!touched && __get_cpu_var(last_irq_sum) == sum) { > local_inc(&__get_cpu_var(alert_counter)); > - if (local_read(&__get_cpu_var(alert_counter)) == 5 * nmi_hz) > + if (local_read(&__get_cpu_var(alert_counter)) == 30 * nmi_hz) > die_nmi("BUG: NMI Watchdog detected LOCKUP", > regs, panic_on_timeout); > } else { > Hum, I tested today, and no, it does not solve the problem. Kernel is still hanging at the same place. I'll get the initcall debug back when I'll have rebuild a kernel withtou the config_prom_console. Seb -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Sébastien Bernard a écrit : > David Miller a écrit : >> [great explanation snipped] >> --- a/arch/sparc/kernel/nmi.c >> +++ b/arch/sparc/kernel/nmi.c >> @@ -103,7 +103,7 @@ notrace __kprobes void perfctr_irq(int irq, >> struct pt_regs *regs) >> } >> if (!touched && __get_cpu_var(last_irq_sum) == sum) { >> local_inc(&__get_cpu_var(alert_counter)); >> - if (local_read(&__get_cpu_var(alert_counter)) == 5 * nmi_hz) >> + if (local_read(&__get_cpu_var(alert_counter)) == 30 * nmi_hz) >> die_nmi("BUG: NMI Watchdog detected LOCKUP", >> regs, panic_on_timeout); >> } else { >> > > Hum, I tested today, and no, it does not solve the problem. Kernel is > still hanging at the same place. > I'll get the initcall debug back when I'll have rebuild a kernel > withtou the config_prom_console. > > > Seb > > Please find included here the logs from the boot session.
From: Sébastien Bernard <seb@sfrdev.fr> Date: Mon, 07 Sep 2009 18:53:15 +0200 > David Miller a écrit : >> [great explanation snipped] >> --- a/arch/sparc/kernel/nmi.c >> +++ b/arch/sparc/kernel/nmi.c >> @@ -103,7 +103,7 @@ notrace __kprobes void perfctr_irq(int irq, struct >> pt_regs *regs) >> } >> if (!touched && __get_cpu_var(last_irq_sum) == sum) { >> local_inc(&__get_cpu_var(alert_counter)); >> - if (local_read(&__get_cpu_var(alert_counter)) == 5 * nmi_hz) >> + if (local_read(&__get_cpu_var(alert_counter)) == 30 * nmi_hz) >> die_nmi("BUG: NMI Watchdog detected LOCKUP", >> regs, panic_on_timeout); >> } else { >> > > Hum, I tested today, and no, it does not solve the problem. Kernel is > still hanging at the same place. > I'll get the initcall debug back when I'll have rebuild a kernel > withtou the config_prom_console. Then what bug are you talking about? You stated that disabling the NMI watchdog completely solves your problem right? That's why I mentioned the above patch to you? -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller a écrit : > From: Sébastien Bernard <seb@sfrdev.fr> > Date: Mon, 07 Sep 2009 18:53:15 +0200 > > >> David Miller a écrit : >> >>> [great explanation snipped] >>> --- a/arch/sparc/kernel/nmi.c >>> +++ b/arch/sparc/kernel/nmi.c >>> @@ -103,7 +103,7 @@ notrace __kprobes void perfctr_irq(int irq, struct >>> pt_regs *regs) >>> } >>> if (!touched && __get_cpu_var(last_irq_sum) == sum) { >>> local_inc(&__get_cpu_var(alert_counter)); >>> - if (local_read(&__get_cpu_var(alert_counter)) == 5 * nmi_hz) >>> + if (local_read(&__get_cpu_var(alert_counter)) == 30 * nmi_hz) >>> die_nmi("BUG: NMI Watchdog detected LOCKUP", >>> regs, panic_on_timeout); >>> } else { >>> >>> >> Hum, I tested today, and no, it does not solve the problem. Kernel is >> still hanging at the same place. >> I'll get the initcall debug back when I'll have rebuild a kernel >> withtou the config_prom_console. >> > > Then what bug are you talking about? > > You stated that disabling the NMI watchdog completely solves your > problem right? That's why I mentioned the above patch to you? > My mistake, I didn't look the log hard enough. I rebuild a new kernel (2.6.31-rc9) with no patch and there was no hang. It passes the nmi_setup but crashes further when mounting the root partition. I'll send the complete logs further. The funny part is that booting with debug_initcalls=1 makes the kernel hangs. Seb -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/sparc/kernel/nmi.c b/arch/sparc/kernel/nmi.c index 2c0cc72..b75bf50 100644 --- a/arch/sparc/kernel/nmi.c +++ b/arch/sparc/kernel/nmi.c @@ -103,7 +103,7 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs) } if (!touched && __get_cpu_var(last_irq_sum) == sum) { local_inc(&__get_cpu_var(alert_counter)); - if (local_read(&__get_cpu_var(alert_counter)) == 5 * nmi_hz) + if (local_read(&__get_cpu_var(alert_counter)) == 30 * nmi_hz) die_nmi("BUG: NMI Watchdog detected LOCKUP", regs, panic_on_timeout); } else {