Re: [PATCH v2] slab,slub: ignore __GFP_WAIT if we're booting or suspending

From: Nick Piggin
Date: Fri Jun 12 2009 - 05:52:24 EST


On Fri, Jun 12, 2009 at 12:49:17PM +0300, Pekka Enberg wrote:
> On Fri, Jun 12, 2009 at 12:10 PM, Ingo Molnar<mingo@xxxxxxx> wrote:
> >> @@ -1548,6 +1548,20 @@ new_slab:
> >>               goto load_freelist;
> >>       }
> >>
> >> +     /*
> >> +      * Lets not wait if we're booting up or suspending even if the user
> >> +      * asks for it.
> >> +      */
> >> +     if (system_state != SYSTEM_RUNNING)
> >> +             gfpflags &= ~__GFP_WAIT;
> >
> > Hiding that bug like that is not particularly clean IMO. We should
> > not let system_state hacks spread like that.
> >
> > We emit a debug warning but dont crash, so all should be fine and
> > the culprits can then be fixed, right?
>
> OK, lets not use system_state then and go with Ben's approach then.
> Again, neither of the patches are about "hiding buggy callers" but
> changing allocation policy wrt. gfp flags during boot (and later on
> during suspend).

Maybe if we just not make it a general "tweak gfpflag" bit (at
least not until a bit more discussion), but a specific workaround
for the local_irq_enable in early boot problem.

Seems like it would not be hard to track things down if we add
a warning if we have GFP_WAIT and interrupts are not enabled...


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/