Re: [BUG] 2.6.21: Kernel won't boot with either/both of CONFIG_NO_HZ, CONFIG_HIGH_RES_TIMERS

Thomas Gleixner
2007-05-01T15:55:23Z

On Tue, 2007-05-01 at 10:13 -0400, Mark Lord wrote:
> Of possible interest is that the bottom of the 25line screen capture
> differs somewhat from the 50line capture.. see for yourself.
> This is 100% consistent from boot to boot.
>
> Using CONFIG_DETECT_SOFTLOCKUP=y eliminates the problem,
> so that's really got to be a huge clue, somehow ?

I twisted my brain, why the watchdog thread might change the problem and
I think I have a rough idea of the scenario.

Can you apply the following patch, which prints out the CPU on which the
kernel messages are generated and upload the screenshot when the hang
happens ? Oh, please enable CONFIG_PRINTK_TIME or add "time" to the
kernel commandline.

tglx

Index: linux-2.6.21/kernel/printk.c
===================================================================
--- linux-2.6.21.orig/kernel/printk.c
+++ linux-2.6.21/kernel/printk.c
@@ -567,10 +567,11 @@ asmlinkage int vprintk(const char *fmt,
t = printk_clock();
nanosec_rem = do_div(t, 1000000000);
tlen = sprintf(tbuf,
- "<%c>[%5lu.%06lu] ",
+ "<%c>[%5lu.%06lu] %d ",
loglev_char,
(unsigned long)t,
- nanosec_rem/1000);
+ nanosec_rem/1000,
+ printk_cpu);

for (tp = tbuf; tp < tbuf + tlen; tp++)
emit_log_char(*tp);