Re: [RFC v1 00/19] Modify zonelist to nodelist v1

David Hildenbrand
2019-11-22T10:14:28Z

On 22.11.19 08:25, lixinhai.lxh@gmail.com wrote:
> On 2019-11-21 at 23:17 Pengfei Li wrote:
>> Motivation
>> ----------
>> Currently if we want to iterate through all the nodes we have to
>> traverse all the zones from the zonelist.
>>
>> So in order to reduce the number of loops required to traverse node,
>> this series of patches modified the zonelist to nodelist.
>>
>> Two new macros have been introduced:
>> 1) for_each_node_nlist
>> 2) for_each_node_nlist_nodemask
>>
>>
>> Benefit
>> -------
>> 1. For a NUMA system with N nodes, each node has M zones, the number
>>    of loops is reduced from N*M times to N times when traversing node.
>>
>
> It looks to me that we don't really have system which has N nodes and
> each node with M zones in its address range.
> We may have systems which has several nodes, but only the first node has
> all zone types, other nodes only have NORMAL zone. (Evenly distribute the
> !NORMAL zones on all nodes is not reasonable, as those zones have limited
> size)
> So iterate over zones to reach nodes should at N level, not M*N level.

I guess NORMAL/MOVABLE/DEVICE would be common for most nodes, while I do
agree that usually we will only have 1 or 2 zones per node (when we have
many nodes). So it would be something like c*N, whereby c is most
probably on average 2.

--

Thanks,

David / dhildenb