From: Michal Hocko <mhocko@suse.com>
To: yong w <yongw.pur@gmail.com>
Cc: Tejun Heo <tj@kernel.org>, Jonathan Corbet <corbet@lwn.net>,
Andrew Morton <akpm@linux-foundation.org>,
Vladimir Davydov <vdavydov.dev@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
Shakeel Butt <shakeelb@google.com>, Roman Gushchin <guro@fb.com>,
alexs@kernel.org, Wei Yang <richard.weiyang@gmail.com>,
Hui Su <sh_def@163.com>, Stephen Rothwell <sfr@canb.auug.org.au>,
wang.yong12@zte.com.cn, Cgroups <cgroups@vger.kernel.org>,
linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
Linux MM <linux-mm@kvack.org>,
yang.yang29@zte.com.cn
Subject: Re: [PATCH v2] mm: Add configuration to control whether vmpressure notifier is enabled
Date: Fri, 20 Aug 2021 17:41:56 +0200 [thread overview]
Message-ID: <YR/NRJEhPKRQ1r22@dhcp22.suse.cz> (raw)
In-Reply-To: <CAOH5QeCfwF0hX3XpoThEtwnddtOFEU9Jtp0Hoj+Q37D4Q6HC0Q@mail.gmail.com>
On Fri 20-08-21 23:20:40, yong w wrote:
> Michal Hocko <mhocko@suse.com> 于2021年8月20日周五 下午7:26写道:
> >
> > On Thu 19-08-21 16:53:39, yongw.pur@gmail.com wrote:
> > > From: wangyong <wang.yong@zte.com.cn>
> > >
> > > Inspired by PSI features, vmpressure inotifier function should
> > > also be configured to decide whether it is used, because it is an
> > > independent feature which notifies the user of memory pressure.
> >
> > Yes, it is an independent feature indeed but what is the actual reason
> > to put a more configuration space here. Config options are not free both
> > from the user experience POV as well as the code maintenance. Why do we
> > need to disable this feature. Who can benefit from such a setup?
> >
> > > So we add configuration to control whether vmpressure notifier is
> > > enabled, and provide a boot parameter to use vmpressure notifier
> > > flexibly.
> >
> > Flexibility is nice but not free as mentioned above.
> >
> > > Use Christoph Lamenter’s pagefault tool
> > > (https://lkml.org/lkml/2006/8/29/294) for comparative testing.
> > > Test with 5.14.0-rc5-next-20210813 on x86_64 4G Ram
> > > To ensure that the vmpressure function is executed, we enable zram
> > > and let the program occupy memory so that some memory is swapped out
> > >
> > > unpatched:
> > > Gb Rep Thr CLine User(s) System(s) Wall(s) flt/cpu/s fault/wsec
> > > 2 1 1 1 0.1 0.97 1.13 485490.062 463533.34
> > > 2 1 1 1 0.11 0.96 1.12 483086.072 465309.495
> > > 2 1 1 1 0.1 0.95 1.11 496687.098 469887.643
> > > 2 1 1 1 0.09 0.97 1.11 489711.434 468402.102
> > > 2 1 1 1 0.13 0.94 1.12 484159.415 466080.941
> > > average 0.106 0.958 1.118 487826.8162 466642.7042
> > >
> > > patched and CONFIG_MEMCG_VMPRESSURE is not set:
> > > Gb Rep Thr CLine User(s) System(s) Wall(s) flt/cpu/s fault/wsec
> > > 2 1 1 1 0.1 0.96 1.1 490942.682 473125.98
> > > 2 1 1 1 0.08 0.99 1.13 484987.521 463161.975
> > > 2 1 1 1 0.09 0.96 1.09 498824.98 476696.066
> > > 2 1 1 1 0.1 0.97 1.12 484127.673 465951.238
> > > 2 1 1 1 0.1 0.97 1.11 487032 468964.662
> > > average 0.094 0.97 1.11 489182.9712 469579.9842
> > >
> > > According to flt/cpu/s, performance improved by 0.2% which is not obvious.
> >
> > I haven't checked how are those numbers calculated but from a very brief
> > look it seems like the variation between different runs is higher than
> > 0.2%. Have you checked the average against standard deviation to get a
> > better idea whether the difference is really outside of the noise?
> > --
> > Michal Hocko
> > SUSE Labs
>
> Thanks for your reply.
> The reason for adding configuration is as follows:
All those reasons should be a part of the changelog.
> 1. Referring to [PATCH] psi: make disabling/enabling easier for vendor
> kernels, the modification
> is also applicable to vmpressure.
>
> 2. With the introduction of psi into the kernel, there are two memory
> pressure monitoring methods,
> it is not necessary to use both and it makes sense to make vmpressure
> configurable.
I am not sure these are sufficient justifications but that is something
to discuss. And hence it should be a part of the changelog.
> 3. In the case where the user does not need vmpressure, vmpressure
> calculation is additional overhead.
You should quantify that and argue why that overhead cannot be further
reduced without config/boot time knobs.
> In some special scenes with tight memory, vmpressure will be executed
> frequently.we use "likely" and "inline"
> to improve the performance of the kernel, why not reduce some
> unnecessary calculations?
I am all for improving the code. Is it possible to do it by other means?
E.g. reduce a potential overhead when there no events registered?
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2021-08-20 15:42 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-19 23:53 yongw.pur
2021-08-20 11:26 ` Michal Hocko
2021-08-20 15:20 ` yong w
2021-08-20 15:41 ` Michal Hocko [this message]
2021-08-22 9:46 ` yong w
2021-08-30 13:49 ` Michal Hocko
2021-09-04 10:41 ` yong w
2021-09-06 6:37 ` Michal Hocko
2021-08-20 11:42 ` Shakeel Butt
2021-08-20 14:29 ` yong w
2021-08-22 10:06 ` yong w
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YR/NRJEhPKRQ1r22@dhcp22.suse.cz \
--to=mhocko@suse.com \
--cc=akpm@linux-foundation.org \
--cc=alexs@kernel.org \
--cc=cgroups@vger.kernel.org \
--cc=corbet@lwn.net \
--cc=guro@fb.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=peterz@infradead.org \
--cc=richard.weiyang@gmail.com \
--cc=sfr@canb.auug.org.au \
--cc=sh_def@163.com \
--cc=shakeelb@google.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=vdavydov.dev@gmail.com \
--cc=wang.yong12@zte.com.cn \
--cc=yang.yang29@zte.com.cn \
--cc=yongw.pur@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox