Re: [PATCH 04/11] mm/vmstat: Inline NUMA event counter updates

From: Vlastimil Babka
Date: Wed Apr 14 2021 - 12:26:31 EST


On 4/14/21 6:20 PM, Vlastimil Babka wrote:
> On 4/14/21 3:39 PM, Mel Gorman wrote:
>> __count_numa_event is small enough to be treated similarly to
>> __count_vm_event so inline it.
>>
>> Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
>
> Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
>
>> ---
>> include/linux/vmstat.h | 9 +++++++++
>> mm/vmstat.c | 9 ---------
>> 2 files changed, 9 insertions(+), 9 deletions(-)
>>
>> diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h
>> index fc14415223c5..dde4dec4e7dd 100644
>> --- a/include/linux/vmstat.h
>> +++ b/include/linux/vmstat.h
>> @@ -237,6 +237,15 @@ static inline unsigned long zone_page_state_snapshot(struct zone *zone,
>> }
>>
>> #ifdef CONFIG_NUMA
>> +/* See __count_vm_event comment on why raw_cpu_inc is used. */
>> +static inline void
>> +__count_numa_event(struct zone *zone, enum numa_stat_item item)
>> +{
>> + struct per_cpu_zonestat __percpu *pzstats = zone->per_cpu_zonestats;
>> +
>> + raw_cpu_inc(pzstats->vm_numa_event[item]);
>> +}
>> +
>> extern void __count_numa_event(struct zone *zone, enum numa_stat_item item);

Ah, but the line above should be removed.

>> extern unsigned long sum_zone_node_page_state(int node,
>> enum zone_stat_item item);
>> diff --git a/mm/vmstat.c b/mm/vmstat.c
>> index 63bd84d122c0..b853df95ed0c 100644
>> --- a/mm/vmstat.c
>> +++ b/mm/vmstat.c
>> @@ -902,15 +902,6 @@ void drain_zonestat(struct zone *zone, struct per_cpu_zonestat *pzstats)
>> #endif
>>
>> #ifdef CONFIG_NUMA
>> -/* See __count_vm_event comment on why raw_cpu_inc is used. */
>> -void __count_numa_event(struct zone *zone,
>> - enum numa_stat_item item)
>> -{
>> - struct per_cpu_zonestat __percpu *pzstats = zone->per_cpu_zonestats;
>> -
>> - raw_cpu_inc(pzstats->vm_numa_event[item]);
>> -}
>> -
>> /*
>> * Determine the per node value of a stat item. This function
>> * is called frequently in a NUMA machine, so try to be as
>>
>