Re: softlockup interaction with slow consoles

From: Ingo Molnar
Date: Tue Feb 21 2006 - 04:08:14 EST



On Mon, 20 Feb 2006, David S. Miller wrote:

> When register_console() runs, it dumps the entire log buffer to the
> console device with interrupts off.
>
> If you're going over a slow console, this can easily take more than 10
> seconds especially on SMP with many cpus brought up.
>
> This makes the softlock fire, which is terribly annoying :-)
>
> I think the bug is in the console registry code, I think it should
> capture chunks of the existing console buffer into some local memory and
> push things piece by piece with interrupts enabled to the console
> driver(s).
>
> Any better ideas?

is this a boot-time-only problem? In recent updates to the softlockup
code in -mm:

timer-irq-driven-soft-watchdog-cleanups.patch
timer-irq-driven-soft-watchdog-percpu-race-fix.patch
timer-irq-driven-soft-watchdog-percpu-fix.patch
timer-irq-driven-soft-watchdog-boot-fix.patch

i changed soft lockup detection to be turned off during bootup. That
should work around any boot-time warnings.

(if this can happen on a booted up system then the real fix would indeed
be to split up register_console()'s workload - that would also make it
more preemption-friendly. But at first sight it looks quite complex to
do.)

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/