Re: [PATCH v5 0/2] printk: Console owner and waiter logic cleanup

From: Steven Rostedt
Date: Wed Jan 10 2018 - 13:42:05 EST


On Wed, 10 Jan 2018 10:12:52 -0800
Tejun Heo <tj@xxxxxxxxxx> wrote:

> Hello, Steven.
>
> So, everything else on your message, sure. You do what you have to
> do, but I really don't understand the following part, and this has
> been the main source of frustration in the whole discussion.
>
> On Wed, Jan 10, 2018 at 01:05:17PM -0500, Steven Rostedt wrote:
> > You on the other hand are showing unrealistic scenarios, and crying
> > that it's what you see in production, with no proof of it.
>
> I've explained the same scenario multiple times. Unless you're
> assuming that I'm lying, it should be amply clear that the scenario is
> unrealistic - we've been seeing them taking place repeatedly for quite
> a while.

The one scenario you did show was the recursive OOM messages, and as
Peter Zijlstra pointed out that's more of a bug in the net console than
a printk bug.

>
> What I don't understand is why we can't address this seemingly obvious
> problem. If there are technical reasons and the consensus is to not
> solve this within flushing logic, sure, we can deal with it otherwise,
> but we at least have to be able to agree that there are actual issues
> here, no?

The issue with the solution you want to do with printk is that it can
break existing printk usages. As Petr said, people want printk to do two
things. 1 - print out data ASAP, 2 - not lock up the system. The two
are fighting each other. You care more about 2 where I (and others,
like Peter Zijlstra and Linus) care more about 1.

My solution can help with 2 without doing anything to hurt 1.

You are NACKing my solution because it doesn't solve this bug with net
console. I believe net console should be fixed. You believe that printk
should have a work around to not let net console type bugs occur. Which
to me is papering over the real bugs.

-- Steve