[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171214152551.GY3919388@devbig577.frc2.facebook.com>
Date: Thu, 14 Dec 2017 07:25:51 -0800
From: Tejun Heo <tj@...nel.org>
To: Petr Mladek <pmladek@...e.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Steven Rostedt <rostedt@...dmis.org>, Jan Kara <jack@...e.cz>,
Andrew Morton <akpm@...ux-foundation.org>,
Peter Zijlstra <peterz@...radead.org>,
Rafael Wysocki <rjw@...ysocki.net>,
Pavel Machek <pavel@....cz>,
Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>,
linux-kernel@...r.kernel.org,
Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
Subject: Re: [RFC][PATCHv6 00/12] printk: introduce printing kernel thread
Hello, Petr.
On Thu, Dec 14, 2017 at 03:27:09PM +0100, Petr Mladek wrote:
> Ah, I know that it was me who was pessimistic about Steven's approach[1]
> and persuaded you that offloading idea was still alive. But I am less
> sure now.
So, I don't really care which one gets in as long as the livelock
problem is fixed although to my obviously partial eyes the two
alternatives seem overly complex. That said,
> My three main concerns about Steven's approach were:
>
> 1. I was afraid that it might introduce new type of deadlocks.
>
> But it seems that it is quite safe after all.
>
>
> 2. Steven's code, implementing the hand shake, is far from trivial.
> Few people were confused and reported false bugs.
>
> But the basic idea is pretty simple and straightforward. If
> we manage to encapsulate it into few helpers, it might become
> rather self-contained and maintainable. In each case, the needed
> changes are much smaller than I expected.
>
>
> 3. Soft-lockups are still theoretically possible with Steven's
> approach.
>
> But it seems to be quite efficient in many real life scenarios,
> including Tetsuo's stress testing. Or am I wrong?
AFAICS, Steven's approach doesn't fix the livelock that we see quite
often in the fleet where we don't have a safe context to keep flushing
messages. This isn't theoretical at all. You simply don't have a
safe context on the cpu to go to. I said I'd come back with a repro
case but haven't had a chance to yet. I'll try to do it before the
end of the year, but idk this is pretty obvious.
Thanks.
--
tejun
Powered by blists - more mailing lists