Messages in this thread | | | Date | Fri, 20 Apr 2018 10:52:21 +0900 | From | Sergey Senozhatsky <> | Subject | Re: [PATCHv2] printk: wake up klogd in vprintk_emit |
| |
On (04/19/18 12:02), Petr Mladek wrote: > On Thu 2018-04-19 10:42:50, Sergey Senozhatsky wrote: > > We wake up klogd very late - only when current console_sem owner > > is done pushing pending kernel messages to the serial/net consoles. > > In some cases this results in lost syslog messages, because kernel > > log buffer is a circular buffer and if we don't wakeup syslog long > > enough there are chances that logbuf simply will wrap around. > > > > The patch moves the klog wake up call to vprintk_emit(), which is > > the only legit way for a kernel message to appear in the logbuf, > > right before we attempt to grab the console_sem (possibly spinning > > on it waiting for the hand off) and call console drivers. > > The last two lines need an update. What about?
Ah. Indeed!
> "right after the attempt to handle consoles. As a result, klog > will get waken either after flushing the new message to consoles > or immediately when consoles are still busy with older messages."
Looks good. Do you want me to resend the patch?
> Otherwise, it looks nice: > > Reviewed-by: Petr Mladek <pmladek@suse.com>
Thanks.
-ss
| |