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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 3 Aug 2010, David Rientjes 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?

GFP_THISNODE does not matter too much. If page == NULL then we failed
to allocate a page on a specific node and have to either give up (and then
extend the slab) or take a page from another node.

We always have give up to go to the page allocator if GFP_THIS_NODE was
set. The modification to additionally also go to the page allocator if
a node was just set even without GFP_THISNODE. So checking for
GFP_THISNODE does not make sense anymore.




--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]