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

From: David Rientjes
Date: Tue Aug 03 2010 - 23:34:18 EST


On Tue, 3 Aug 2010, Christoph Lameter wrote:

> Index: linux-2.6/mm/slub.c
> ===================================================================
> --- linux-2.6.orig/mm/slub.c 2010-07-26 12:57:52.000000000 -0500
> +++ linux-2.6/mm/slub.c 2010-07-26 12:57:59.000000000 -0500
> @@ -1073,7 +1073,7 @@ static inline struct page *alloc_slab_pa
>
> flags |= __GFP_NOTRACK;
>
> - if (node == -1)
> + if (node == NUMA_NO_NODE)
> return alloc_pages(flags, order);
> else
> return alloc_pages_exact_node(node, flags, order);
> @@ -1387,7 +1387,7 @@ static struct page *get_any_partial(stru
> 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.
--
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/