Re: [PATCH v3] vmpressure: wake up work only when there is registration event

From: Michal Hocko
Date: Fri Sep 24 2021 - 10:11:27 EST


On Fri 24-09-21 06:44:25, yongw.pur@xxxxxxxxx wrote:
> From: wangyong <wang.yong12@xxxxxxxxxx>
>
> Use the global variable num_events to record the number of vmpressure
> events registered by the system, and wake up work only when there
> is registration event.
> Usually, the vmpressure event is not registered in the system, this patch
> can avoid waking up work and doing nothing.
>
> Test with 5.14.0-rc5-next-20210813 on x86_64 4G ram.
> Consume cgroup memory until it is about to be reclaimed, then execute
> "perf stat -I 2000 malloc.out" command to trigger memory reclamation
> and get performance results.
> The context-switches is reduced by about 20 times.
>
> unpatched:
> Average of 10 test results
> 582.4674048 task-clock(msec)
> 19910.8 context-switches
> 0 cpu-migrations
> 1292.9 page-faults
> 414784733.1 cycles
> 580070698.4 instructions
> 125572244.7 branches
> 2073541.2 branch-misses
>
> patched:
> Average of 10 test results
> 973.6174796 task-clock(msec)
> 988.6 context-switches
> 0 cpu-migrations
> 1785.2 page-faults
> 772883602.4 cycles
> 1360280911 instructions
> 290519434.9 branches
> 3378378.2 branch-misses

Your data still doesn't make any sense. I have asked about that in the
previous submission and you haven't really clarified anything. How come
your task-clock has almost doubled. You are likely not not comparing
apples to apples or something weird is going on.

This patch is not going to fly without a sensible data and analysis of
that data.

Thanks!
--
Michal Hocko
SUSE Labs