Re: [RFC] printk/sysrq: Don't play with console_loglevel

From: Tetsuo Handa
Date: Tue May 28 2019 - 04:06:19 EST


On 2019/05/28 13:22, Sergey Senozhatsky wrote:
> On (05/28/19 12:21), Tetsuo Handa wrote:
> [..]
>> What I suggested in my proposal ("printk: Introduce "store now but print later" prefix." at
>> https://lore.kernel.org/lkml/1550896930-12324-1-git-send-email-penguin-kernel@xxxxxxxxxxxxxxxxxxx/T/#u )
>> is "whether the caller wants to defer printing to consoles regarding
>> this printk() call". And your suggestion is "whether the caller wants
>> to apply ignore_loglevel regarding this printk() call".
>
> I'm not sure about "store now but print later" here. What Dmitry is
> talking about:
>
> bump console_loglevel on *this* particular CPU only,
> not system-wide.
> /* Which is implemented in a form of - all messages from this-CPU
> * only should be printed regardless the loglevel, the rest should
> * pass the usual suppress_message_printing() check. */

Dmitry's patch is changing only the header line (in other words, per printk() call).
Since op_p->handler(key) is out of KERN_UNSUPPRESSED effect, the body lines might
not be printed. I think that we need a way to pass KERN_UNSUPPRESSED from printk()
calls invoked from op_p->handler(key).

You are trying to omit passing KERN_UNSUPPRESSED by utilizing implicit printk
context information. But doesn't such attempt resemble find_printk_buffer() ?