Re: [Patch V3 3/9] sgi-xp: Replace cpu_to_node() with cpu_to_mem() to support memoryless node

From: David Rientjes
Date: Wed Aug 19 2015 - 20:03:00 EST


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?
--
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/