[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190906153209.ugkeuaespn2q5yix@pathway.suse.cz>
Date: Fri, 6 Sep 2019 17:32:09 +0200
From: Petr Mladek <pmladek@...e.com>
To: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
Cc: Steven Rostedt <rostedt@...dmis.org>, davem@...emloft.net,
Eric Dumazet <eric.dumazet@...il.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Michal Hocko <mhocko@...nel.org>, linux-mm@...ck.org,
Qian Cai <cai@....pw>, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org
Subject: Re: [PATCH] net/skbuff: silence warnings under memory pressure
On Fri 2019-09-06 12:39:00, Sergey Senozhatsky wrote:
> On (09/05/19 13:23), Steven Rostedt wrote:
> > > I think we can queue significantly much less irq_work-s from printk().
> > >
> > > Petr, Steven, what do you think?
>
> [..]
> > I mean, really, do we need to keep calling wake up if it
> > probably never even executed?
>
> I guess ratelimiting you are talking about ("if it probably never even
> executed") would be to check if we have already called wake up on the
> log_wait ->head. For that we need to, at least, take log_wait spin_lock
> and check that ->head is still in TASK_INTERRUPTIBLE; which is (quite,
> but not exactly) close to what wake_up_interruptible() does - it doesn't
> wake up the same task twice, it bails out on `p->state & state' check.
I have just realized that only sleeping tasks are in the waitqueue.
It is already handled by waitqueue_active() check.
I am afraid that we could not ratelimit the wakeups. The userspace
loggers might then miss the last lines for a long.
We could move wake_up_klogd() back to console_unlock(). But it might
end up with a back-and-forth games according to who is currently
complaining.
Sigh, I still suggest to ratelimit the warning about failed
allocation.
Best Regards,
Petr
Powered by blists - more mailing lists