Messages in this thread | | | Date | Sun, 3 May 2009 02:09:50 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [PATCH -tip] x86: uv - prevent NULL dereference in uv_system_init |
| |
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().
| |