Re: [RESEND PATCH 3.18-rc3] kdb: Avoid printing KERN_ levels to consoles

From: Daniel Thompson
Date: Thu Nov 06 2014 - 12:23:07 EST


On 06/11/14 16:13, Joe Perches wrote:
> On Thu, 2014-11-06 at 15:27 +0000, Daniel Thompson wrote:
>> Currently when kdb traps printk messages then the raw log level prefix
>> (consisting of '\001' followed by a numeral) does not get stripped off
>> before the message is issued to the various I/O handlers supported by
>> kdb. This causes annoying visual noise as well as causing problems
>> grepping for ^. It is also a change of behaviour compared to normal usage
>> of printk() usage. For example <SysRq>-h ends up with different to that of
>> kdb's "sr h".
>>
>> This patch addresses the problem by stripping log levels from messages
>> before they are issued to the I/O handlers.
>
> Perhaps instead of stripping the logging level,
> maybe a KERN_SOH_ASCII 'char' sequence should be
> emitted as '<' 'char' '>' (see: printk:print_prefix)
>
> Maybe this should be added to stable from v3.6
> when KERN_SOH_ASCII was first added.

You mean call the problem a regression and try to restore the original
3.5 behaviour?

Maybe.

However I have to confess that I don't really like the old behaviour.
I'd view it as contradicting the normal behaviours of consoles
(including the kgdbcon console). Why should printk() inside kdb show
different text to printk() outside kdb? For me, having <5> and <c>
scribbled all over the output of an "sr" command (which I think is
probably the heaviest user of printk() inside kdb) never struck me as
adding much value.

Is the above paragraph convincing?

To be honest I'd happy to make the change if this is critical for you
since almost anything is better than dumping a non-printable character
(which does all sorts of different things depending on the combination
of terminal emuluator/screen/minicom I need to access the board or
emulator).

On the other hand if you really mean "perhaps and maybe" then I'd prefer
to leave it as it it.


Daniel.
--
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/