Thread (51 messages) flat view 51 messages, 9 authors, 2010-09-06

Re: [patch 1/5] mm: add nofail variants of kmalloc kcalloc and kzalloc

From: David Rientjes <rientjes@google.com>
Date: 2010-08-25 21:23:37
Also in: linux-btrfs, linux-ext4, lkml

On Wed, 25 Aug 2010, Christoph Lameter wrote:
We already have __GFP_NOFAIL behavior for slab allocations since
a __GFP_NOFAIL flag is passed through to the page allocator if no objects
are available.
It all depends on what flags are passed to kmalloc(), slab nor slub 
enforce __GFP_NOFAIL behavior themselves.  In slab, cache_grow() will 
return NULL depending on whether the page allocator returns NULL, and that 
would only happen for __GFP_NORETRY or
cachep->gfp->gfporder >= PAGE_ALLOC_COSTLY_ORDER.  In slub, the default 
order is tried with __GFP_NORETRY and if it returns NULL, the higher order 
alloc will fail under the same circumstances.  So the nofail behavior for 
slab depends only on the flags passed from the caller.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help