[lkml]   [2004]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: overlaping printk
Ingo Molnar <> writes:

> * Ricky Beam <> wrote:
>> It looks like somewhere in the path of release_console_sem() more than
>> one CPU is running the log. [...]
> the problem is this code in printk:
> if (oops_in_progress) {
> /* If a crash is occurring, make sure we can't deadlock */
> spin_lock_init(&logbuf_lock);
> /* And make sure that we print immediately */
> init_MUTEX(&console_sem);
> }
> so two crashes on two separate CPUs can go on in parallel. The problem
> is not constrained to the serial line - i've seen it on VGA too (albeit
> there it's much more rare).

One alternative way would be to use locks with timeouts for these two
locks (e.g. checking the TSC on x86, since the timer interrupt
may not be running anymore) and only break the lock when the
wait time is too long.

Of course serial lines can be quite slow so even that may not help
always (for unknown reasons far too many people use 9600 baud for
their serial line)


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 14:03    [W:0.091 / U:0.112 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site