Re: [S+Q3 03/23] slub: Use a constant for a unspecified node.

From: David Rientjes
Date: Thu Aug 05 2010 - 03:40:51 EST


On Wed, 4 Aug 2010, Christoph Lameter wrote:

> > > static struct page *get_partial(struct kmem_cache *s, gfp_t flags, int node)
> > > {
> > > struct page *page;
> > > - int searchnode = (node == -1) ? numa_node_id() : node;
> > > + int searchnode = (node == NUMA_NO_NODE) ? numa_node_id() : node;
> > >
> > > page = get_partial_node(get_node(s, searchnode));
> > > if (page || (flags & __GFP_THISNODE) || node != -1)
> >
> > This has a merge conflict with 2.6.35 since it has this:
> >
> > page = get_partial_node(get_node(s, searchnode));
> > if (page || (flags & __GFP_THISNODE))
> > return page;
> >
> > return get_any_partial(s, flags);
> >
> > so what happened to the dropped check for returning get_any_partial() when
> > node != -1? I added the check for benchmarking.
>
> Strange no merge conflict here. Are you sure you use upstream?
>

Yes, 2.6.35 does not have the node != -1 check and Linus hasn't pulled
slub/fixes from Pekka's tree yet. Even when he does, "slub numa: Fix rare
allocation from unexpected node" removes the __GFP_THISNODE check before
adding node != -1, so this definitely doesn't apply to anybody else's
tree.
--
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/