Messages in this thread | | | Date | Fri, 07 Nov 2014 09:57:37 +0000 | From | Daniel Thompson <> | Subject | Re: [RESEND PATCH 3.18-rc3] kdb: Avoid printing KERN_ levels to consoles |
| |
On 06/11/14 17:43, Joe Perches wrote: > On Thu, 2014-11-06 at 17:22 +0000, Daniel Thompson wrote: >> 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? > > Yes. > > I added KERN_SOH_ASCII so to me it's a regression. > >> 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? > > I don't use it so I have a useful opinion. > > I don't recall that anyone has reported it in the > 2+ years since so it doesn't seem widely used.
Does that arguing against Cc:ing stable@ or you think I should just put that on anyway and leave it for the stable committee?
> But then again, this is a resend and I don't recall > seeing it the first time either. > >> On the other hand if you really mean "perhaps and maybe" then I'd prefer >> to leave it as it it. > > Your choice. > > btw: in the patch I suggest using printk_skip_level > instead of the direct test here: > > + cp = kdb_buffer; > + if (cp[0] == KERN_SOH_ASCII && cp[1] != '\0') > + cp += 2; > > so this could be > > cp = printk_skip_level(kdb_buffer);
Excellent. I'll do that.
| |