Don't warn about order-1 allocations with __GFP_NOFAIL

Traditionally, we never failed small orders (even regardless of any
__GFP_NOFAIL flags), and slab will allocate order-1 allocations even for
small allocations that could fit in a single page (in order to avoid
excessive fragmentation).

Maybe we should remove this warning entirely, but before making that
judgement, at least limit it to bigger allocations.

Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Linus Torvalds 2009-06-24 12:16:49 -07:00
parent c82e6d450f
commit 4923abf9f1

View File

@ -1153,10 +1153,10 @@ again:
* properly detect and handle allocation failures. * properly detect and handle allocation failures.
* *
* We most definitely don't want callers attempting to * We most definitely don't want callers attempting to
* allocate greater than single-page units with * allocate greater than order-1 page units with
* __GFP_NOFAIL. * __GFP_NOFAIL.
*/ */
WARN_ON_ONCE(order > 0); WARN_ON_ONCE(order > 1);
} }
spin_lock_irqsave(&zone->lock, flags); spin_lock_irqsave(&zone->lock, flags);
page = __rmqueue(zone, order, migratetype); page = __rmqueue(zone, order, migratetype);