Thread (34 messages) 34 messages, 7 authors, 2008-03-07

Re: [PATCH 6/6] Use one zonelist that is filtered by nodemask

From: Nishanth Aravamudan <hidden>
Date: 2007-11-09 18:16:26
Also in: lkml

On 09.11.2007 [09:26:01 -0800], Christoph Lameter wrote:
On Fri, 9 Nov 2007, Lee Schermerhorn wrote:
quoted
quoted
On the other hand, if we call alloc_pages() with GFP_THISNODE set, there
is no nid to base the allocation on, so we "fallback" to numa_node_id()
[ almost like the nid had been specified as -1 ].

So I guess this is logical -- but I wonder, do we have any callers of
alloc_pages(GFP_THISNODE) ? It seems like an odd thing to do, when
alloc_pages_node() exists?
I don't know if we have any current callers that do this, but absent any
documentation specifying otherwise, Mel's implementation matches what
I'd expect the behavior to be if I DID call alloc_pages with 'THISNODE.
However, we could specify that THISNODE is ignored in __alloc_pages()
and recommend the use of alloc_pages_node() passing numa_node_id() as
the nid parameter to achieve the behavior.  This would eliminate the
check for 'THISNODE in __alloc_pages().  Just mask it off before calling
down to __alloc_pages_internal().

Does this make sense?
I like consistency. If someone absolutely wants a local page then
specifying GFP_THISNODE to __alloc_pages is okay. Leave as is I guess. 
Fair enough.
What happens though if an MPOL_BIND policy is in effect? The node used
must then be the nearest node from the policy mask....
Indeed, this probably needs to be validated... Sigh, more interleaving
of policies and everything else...

-Nish


-- 
Nishanth Aravamudan [off-list ref]
IBM Linux Technology Center

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help