Re: [Patch V3 3/9] sgi-xp: Replace cpu_to_node() with cpu_to_mem() to support memoryless node
From: Jiang Liu
Date: Thu Aug 20 2015 - 02:36:25 EST
On 2015/8/20 8:02, David Rientjes wrote:
> 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?
Hi David,
Great idea:) I think that means we are going to kill the
concept of memoryless node, and we only need to specially handle
a few callers who really care about whether there is memory on
local node.
Then I need some time to audit all usages of __GFP_THISNODE
and update you whether it's doable.
Thanks!
Gerry
--
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/