On Tue, 4 Mar 2008, Pekka Enberg wrote: > > > I suspect the WARN_ON() is bogus although I really don't know that part > > > of the code all too well. Mel? > > > > > > > The warn-on is valid. A situation should not exist that allows both flags > > to > > be set. I suspect if remove-set_migrateflags.patch was reverted from -mm > > the warning would not trigger. Christoph, would it be reasonable to always > > clear __GFP_MOVABLE when __GFP_RECLAIMABLE is set for SLAB_RECLAIM_ACCOUNT.
Slab allocations should never be passed these flags since the slabs do their own thing there. The following patch would clear these in slub: --- mm/slub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6.25-rc3-mm1/mm/slub.c =================================================================== --- linux-2.6.25-rc3-mm1.orig/mm/slub.c 2008-03-04 11:53:47.600342756 -0800 +++ linux-2.6.25-rc3-mm1/mm/slub.c 2008-03-04 11:55:40.153855150 -0800 @@ -1033,8 +1033,8 @@ static struct page *allocate_slab(struct struct page *page; int pages = 1 << s->order; + flags &= ~GFP_MOVABLE_MASK; flags |= s->allocflags; - page = alloc_slab_page(flags | __GFP_NOWARN | __GFP_NORETRY, node, s->order); if (unlikely(!page)) { _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev