Re: [PATCH] add __GFP_ZERO to GFP_LEVEL_MASK

From: Mel Gorman
Date: Wed Jul 25 2007 - 09:07:02 EST


On (24/07/07 12:25), Andrew Morton didst pronounce:
> On Tue, 24 Jul 2007 12:07:51 -0700
> Christoph Lameter <clameter@xxxxxxx> wrote:
>
> > Then there are some other flags. I am wondering why they are in
> > GFP_LEVEL_MASK?
> >
> > __GFP_COLD Does not make sense for slab allocators since we have
> > to touch the page immediately.
> >
> > __GFP_COMP No effect. Added by the page allocator on their own
> > if a higher order allocs are used for a slab.
> >
> > __GFP_MOVABLE The movability of a slab is determined by the
> > options specified at kmem_cache_create time. If this is
> > specified at kmalloc time then we will have some random
> > slabs movable and others not.
>
> Yes, they seem inappropriate. Especially the first two.

And the third one is also inappropriate by the definition of GFP_LEVEL_MASK
Christoph is using. If GFP_LEVEL_MASK is to be used to filter out flags
that are unsuitable for higher allocators such as slab and vmalloc, then
they shouldn't be using __GFP_MOVABLE because they are unlikely to do the
correct thing with the pages.

When the flags were added, I was treating GFP_LEVEL_MASK as a set of
allowed flags to the allocator.

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/