Re: [PATCH v3] printk: Have printk() never buffer its data

From: Andrew Morton
Date: Mon Jun 25 2012 - 18:07:20 EST


On Mon, 25 Jun 2012 15:05:42 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

>
> This brings back the old way of printk() that always prints to the console
> and does not buffer the data. As printk_emit() is used by other 'facilities'
> this only affects printk(), but keeps pretty much the new behavior.

If you say so. The core printk code is starting to make one think of
things like "cleansing with fire".

Why did that logging code need to futz with this printk behaviour in
the first place?

I don't think the thing which you're fixing here was a real
showstopper. If a non-newline-terminated printk gets delayed, then so
be it - we identify and fix all callers and remember the new rule and
move on, although I still don't know why this change was deemed
necessary. If that results in a cleaner, clearer and more reliable
core printk() then we win.

And we do need a cleaner, clearer and more reliable core printk() :(
wtf have you guys been up to??

<wonders why vprintk_emit() is asmlinkage, global, exported to modules
and has no callers outside printk.c>

> /* This stops the holder of console_sem just where we want him */

This poor comment is now stranded half a page away from the code it's
documenting. Please check that it's still true and then relocate it?

>
> ...
>

must.. stop.. thinking.. about.. fire..
--
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/