Messages in this thread | | | Date | Wed, 25 Aug 2010 14:23:26 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [patch 1/5] mm: add nofail variants of kmalloc kcalloc and kzalloc |
| |
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.
| |