Re: [PATCH -tip] x86: uv - prevent NULL dereference in uv_system_init

David Rientjes
2009-05-03T09:10:32Z

On Sun, 3 May 2009, Ingo Molnar wrote:

> Hm, would be nice if we had a __GFP_PANIC variant in kmalloc that
> would just panic straight in the allocator, when allocation failure
> is not acceptable. (Andrew Cc:-ed)
>
> It does not increase the priority of the allocation nor does it
> trigger any 'dont fail' logic - it is simply the central expression
> of 'this should not have failed, panic'.
>

SLUB stores two new slab allocation orders: the cache's adjustable order
which is calculated at kmem_cache_create(), and the smallest order that
can accommodate at least one object allocation. The latter is used as a
fallback when the former fails in the page allocator.

So for __GFP_PANIC to work in this case, it could not be implemented in
the page allocator (SLUB also passes __GFP_NORETRY for new slabs) but
rather above it in allocate_slab(). It would then be a no-op for
alloc_pages().