[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171109044548.GC775@jagdpanzerIV>
Date: Thu, 9 Nov 2017 13:45:48 +0900
From: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
Tejun Heo <tj@...nel.org>,
Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>,
linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
linux-mm@...ck.org, xiyou.wangcong@...il.com,
dave.hansen@...el.com, hannes@...xchg.org, mgorman@...e.de,
mhocko@...nel.org, pmladek@...e.com, sergey.senozhatsky@...il.com,
vbabka@...e.cz
Subject: Re: [PATCH v3] printk: Add console owner and waiter logic to load
balance console writes
On (11/08/17 22:29), Steven Rostedt wrote:
> > On (11/08/17 09:29), Steven Rostedt wrote:
> > > On Wed, 8 Nov 2017 14:19:55 +0900
> > > Sergey Senozhatsky <sergey.senozhatsky.work@...il.com> wrote:
> > >
> > > > the change goes further. I did express some of my concerns during the KS,
> > > > I'll just bring them to the list.
> > > >
> > > >
> > > > we now always shift printing from a save - scheduleable - context to
> > > > a potentially unsafe one - atomic. by example:
> > >
> > > And vice versa. We are now likely to go from a unscheduleable context
> > > to a schedule one, where before, that didn't exist.
> >
> > the existence of "and vice versa" is kinda alarming, isn't it? it's sort
> > of "yes, we can break some things, but we also can improve some things."
>
> Not really. Because the heuristic is that what calls printk will do the
> printk.
so what we are looking at
a) we take over printing. can be from safe context to unsafe context
[well, bad karma]. can be from unsafe context to a safe one. or from
safe context to another safe context... or from one unsafe context to
another unsafe context [bad karma again]. we really never know, no
one does.
lots of uncertainties - "may be X, may be Y, may be Z". a bigger
picture: we still can have the same lockup scenarios as we do
have today.
and we also bring busy loop with us, so the new console_sem
owner [regardless its current context] CPU must wait until the
current console_sem finishes its call_console_drivers(). I
mentioned it in my another email, you seemed to jump over that
part. was it irrelevant or wrong?
vs.
b) we offload to printk_kthread [safe context].
why (a) is better than (b)?
-ss
Powered by blists - more mailing lists