Re: [mmots-2016-06-09-16-49] sleeping function called from slab_alloc()

From: Michal Hocko
Date: Mon Jun 13 2016 - 06:47:41 EST


On Fri 10-06-16 14:59:16, Andrew Morton wrote:
> On Fri, 10 Jun 2016 11:55:54 +0200 mhocko <mhocko@xxxxxxx> wrote:
>
> > On 2016-06-10 11:50, Sergey Senozhatsky wrote:
> > > Hello,
> > >
> > > forked from http://marc.info/?l=linux-mm&m=146553910928716&w=2
> > >
> > > new_slab()->BUG->die()->exit_signals() can be called from atomic
> > > context: local IRQs disabled in slab_alloc().
> >
> > I have sent a patch to drop the BUG() from that path today. It
> > is just too aggressive way to react to a non-critical bug.
> > See
> > http://lkml.kernel.org/r/1465548200-11384-2-git-send-email-mhocko@xxxxxxxxxx
>
> Doesn't this simply mean that Sergey's workload will blurt a pr_warn()
> rather than a BUG()? That still needs fixing. Confused.

Yes that should be fixed by
http://lkml.kernel.org/r/20160610074223.GC32285@xxxxxxxxxxxxxx

which prevents from using a wrong GFP...

--
Michal Hocko
SUSE Labs