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>