Messages in this thread | | | Date | Wed, 19 Aug 2015 17:02:54 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [Patch V3 3/9] sgi-xp: Replace cpu_to_node() with cpu_to_mem() to support memoryless node |
| |
On Wed, 19 Aug 2015, Jiang Liu wrote:
> > Why not simply fix build_zonelists_node() so that the __GFP_THISNODE > > zonelists are set up to reference the zones of cpu_to_mem() for memoryless > > nodes? > > > > It seems much better than checking and maintaining every __GFP_THISNODE > > user to determine if they are using a memoryless node or not. I don't > > feel that this solution is maintainable in the longterm. > Hi David, > There are some usage cases, such as memory migration, > expect the page allocator rejecting memory allocation requests > if there is no memory on local node. So we have: > 1) alloc_pages_node(cpu_to_node(), __GFP_THISNODE) to only allocate > memory from local node. > 2) alloc_pages_node(cpu_to_mem(), __GFP_THISNODE) to allocate memory > from local node or from nearest node if local node is memoryless. >
Right, so do you think it would be better to make the default zonelists be setup so that cpu_to_node()->zonelists == cpu_to_mem()->zonelists and then individual callers that want to fail for memoryless nodes check populated_zone() themselves?
| |