Re: [PATCH 2/2] SLUB: Use GFP_PANIC for early-boot allocations

From: Peter Zijlstra
Date: Fri May 08 2009 - 12:33:45 EST


On Fri, 2009-05-08 at 20:15 +0400, Cyrill Gorcunov wrote:
> [Peter Zijlstra - Fri, May 08, 2009 at 05:50:58PM +0200]
> | On Fri, 2009-05-08 at 18:45 +0300, Pekka Enberg wrote:
> |
> | > On Fri, 2009-05-08 at 17:42 +0200, Peter Zijlstra wrote:
> | > > BUG_ON((gfp & __GFP_PANIC) && (system_state != STATE_BOOTING));
> | >
> | > There's no technical reason not to use GFP_PANIC when system_state !=
> | > STATE_BOOTING so I don't think it's needed. It's just that GFP_PANIC
> | > (and BUG_ON) is IMHO too harsh for create_unique_id().
> |
> | Shouldn't we handle every allocation failure after booting?
>
> Definitely
>
> |
> | I think it _is_ a bug to panic on allocation failures once we're
> | running.
> |
>
> But Peter I believe there was no suggestion to use GFP_PANIC everywhere
> to get rid of error handling. But rather to use it in case if kmalloc is
> followed by BUG_ON.

Well, what I'm saying is that that either is a genuine bug we should
fix, or its boot code, which is exactly what my assertion above tests
for.

I really believe GFP_PANIC usage outside of system_state ==
STATE_BOOTING is a bug we should fix. Not create a better syntax for.

What code outside of booting is allowed to bring down the kernel on an
allocation failure?

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