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

From: Ingo Molnar
Date: Fri Jun 12 2009 - 06:08:26 EST



* Pekka Enberg <penberg@xxxxxxxxxxxxxx> 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).

IMHO such invisible side-channels modifying the semantics of GFP
flags is a bit dubious.

We could do GFP_INIT or GFP_BOOT. These can imply other useful
modifiers as well: panic-on-failure for example. (this would clean
up a fair amount of init code that currently checks for an panics on
allocation failure.)

Ingo
--
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/