Re: [PATCH] mm: vmstat: Use zeroed stats for unpopulated zones

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/4/20 12:26 PM, Michal Hocko wrote:
> On Mon 04-05-20 12:33:04, Sandipan Das wrote:
>> For unpopulated zones, the pagesets point to the common
>> boot_pageset which can have non-zero vm_numa_stat counts.
>> Because of this memory-less nodes end up having non-zero
>> NUMA statistics. This can be observed on any architecture
>> that supports memory-less NUMA nodes.
>> 
>> E.g.
>> 
>>   $ numactl -H
>>   available: 2 nodes (0-1)
>>   node 0 cpus: 0 1 2 3
>>   node 0 size: 0 MB
>>   node 0 free: 0 MB
>>   node 1 cpus: 4 5 6 7
>>   node 1 size: 8131 MB
>>   node 1 free: 6980 MB
>>   node distances:
>>   node   0   1
>>     0:  10  40
>>     1:  40  10
>> 
>>   $ numastat
>>                              node0           node1
>>   numa_hit                     108           56495
>>   numa_miss                      0               0
>>   numa_foreign                   0               0
>>   interleave_hit                 0            4537
>>   local_node                   108           31547
>>   other_node                     0           24948
>> 
>> Hence, return zero explicitly for all the stats of an
>> unpopulated zone.
> 
> I hope I am not just confused but I would expect that at least
> numa_foreign and other_node to be non zero.
Hmm, checking zone_statistics():

NUMA_FOREIGN increment uses preferred zone, which is the first in zone in
zonelist, so it will be a zone from node 1 even for allocations on cpu
associated to node 0 - assuming node 0's unpopulated zones are not included in
node 0's zonelist.

NUMA_OTHER uses numa_node_id(), which would mean the node 0's cpus have node 1
in their numa_node_id() ? Is that correct?

So the 108 comes from where exactly, some early allocations until all was
initialized?






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux