Re: [RFC][PATCHv3 2/5] printk: introduce printing kernel thread

From: Sergey Senozhatsky
Date: Fri Jun 30 2017 - 08:50:49 EST


On (06/30/17 21:35), Tetsuo Handa wrote:
> Date: Fri, 30 Jun 2017 21:35:28 +0900
> From: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
> To: sergey.senozhatsky.work@xxxxxxxxx
> Cc: pmladek@xxxxxxxx, sergey.senozhatsky@xxxxxxxxx, rostedt@xxxxxxxxxxx,
> jack@xxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, peterz@xxxxxxxxxxxxx,
> rjw@xxxxxxxxxxxxx, ebiederm@xxxxxxxxxxxx, gregkh@xxxxxxxxxxxxxxxxxxx,
> jslaby@xxxxxxxx, pavel@xxxxxx, andi@xxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [RFC][PATCHv3 2/5] printk: introduce printing kernel thread
> X-Mailer: Winbiff [Version 2.51 PL2]
>
> Sergey Senozhatsky wrote:
> > On (06/30/17 19:18), Tetsuo Handa wrote:
> > > > I'm still thinking about Steven's proposals; but we will need offloading
> > > > anyways, so the bits we are talking about here are important regardless
> > > > the direction printk design will take, I think.
> > >
> > > Is there a chance that printk() waits for only data queued by that printk()
> > > call (exception will be printk() from NMI).
> >
> > hm, I don't think this can be done easily... consider
> >
> > console_lock();
> > printk();
> > printk();
> > ... -> this guys will wait forever. nothing
> > flushes the logbuf.
> > printk();
> > console_unlock();
>
> Can't we remove console_lock()/console_unlock() from printk() ?

we can't... well, we can... and there are some ideas but we are years
away from all it becoming reality. console_sem is the giant and major
lock that fbcon, drm, tty and so on are using. please see a sub-thread
starting from here:

https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2017-June/004389.html

> I think that printk() depends on console_unlock() is complicating.

it absolutely is.

-ss