Re: [PATCH] net/skbuff: silence warnings under memory pressure

From: Qian Cai
Date: Fri Sep 06 2019 - 17:18:00 EST


On Fri, 2019-09-06 at 13:32 +0900, Sergey Senozhatsky wrote:
> On (09/05/19 12:03), Qian Cai wrote:
> > > ---
> > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> > > index cd51aa7d08a9..89cb47882254 100644
> > > --- a/kernel/printk/printk.c
> > > +++ b/kernel/printk/printk.c
> > > @@ -2027,8 +2027,11 @@ asmlinkage int vprintk_emit(int facility, int level,
> > > Â pending_output = (curr_log_seq != log_next_seq);
> > > Â logbuf_unlock_irqrestore(flags);
> > > Â
> > > + if (!pending_output)
> > > + return printed_len;
> > > +
> > > Â /* If called from the scheduler, we can not call up(). */
> > > - if (!in_sched && pending_output) {
> > > + if (!in_sched) {
> > > Â /*
> > > Â Â* Disable preemption to avoid being preempted while holding
> > > Â Â* console_sem which would prevent anyone from printing to
> > > @@ -2043,10 +2046,11 @@ asmlinkage int vprintk_emit(int facility, int level,
> > > Â if (console_trylock_spinning())
> > > Â console_unlock();
> > > Â preempt_enable();
> > > - }
> > > Â
> > > - if (pending_output)
> > > + wake_up_interruptible(&log_wait);
> > > + } else {
> > > Â wake_up_klogd();
> > > + }
> > > Â return printed_len;
> > > Â}
> > > ÂEXPORT_SYMBOL(vprintk_emit);
> > > ---
>
> Qian Cai, any chance you can test that patch?

So far as good, but it is hard to tell if this really nail the issue down. I'll
leave it running over the weekend and report back if it occurs again.