]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - mm/slub.c
Categorize GFP flags
[linux-2.6-omap-h63xx.git] / mm / slub.c
index 968ce3776e083f2b4651ad0efc6ccadd2a9ba772..19d3202ca2dcfc26ac2509bbd2148623703c5435 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1088,12 +1088,13 @@ static struct page *new_slab(struct kmem_cache *s, gfp_t flags, int node)
        void *last;
        void *p;
 
-       BUG_ON(flags & ~(GFP_DMA | __GFP_ZERO | GFP_LEVEL_MASK));
+       BUG_ON(flags & GFP_SLAB_BUG_MASK);
 
        if (flags & __GFP_WAIT)
                local_irq_enable();
 
-       page = allocate_slab(s, flags & GFP_LEVEL_MASK, node);
+       page = allocate_slab(s,
+               flags & (GFP_RECLAIM_MASK | GFP_CONSTRAINT_MASK), node);
        if (!page)
                goto out;