lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 21 Sep 2020 18:55:40 +0800 From: Yafang Shao <laoar.shao@...il.com> To: Michal Hocko <mhocko@...e.com> Cc: zangchunxin@...edance.com, Johannes Weiner <hannes@...xchg.org>, Vladimir Davydov <vdavydov.dev@...il.com>, Andrew Morton <akpm@...ux-foundation.org>, Tejun Heo <tj@...nel.org>, lizefan@...wei.com, Jonathan Corbet <corbet@....net>, Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>, kafai@...com, Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>, andriin@...com, john.fastabend@...il.com, kpsingh@...omium.org, Cgroups <cgroups@...r.kernel.org>, linux-doc@...r.kernel.org, Linux MM <linux-mm@...ck.org>, LKML <linux-kernel@...r.kernel.org>, netdev <netdev@...r.kernel.org>, bpf@...r.kernel.org Subject: Re: [PATCH] mm/memcontrol: Add the drop_cache interface for cgroup v2 On Mon, Sep 21, 2020 at 4:12 PM Michal Hocko <mhocko@...e.com> wrote: > > On Mon 21-09-20 16:02:55, zangchunxin@...edance.com wrote: > > From: Chunxin Zang <zangchunxin@...edance.com> > > > > In the cgroup v1, we have 'force_mepty' interface. This is very > > useful for userspace to actively release memory. But the cgroup > > v2 does not. > > > > This patch reuse cgroup v1's function, but have a new name for > > the interface. Because I think 'drop_cache' may be is easier to > > understand :) > > This should really explain a usecase. Global drop_caches is a terrible > interface and it has caused many problems in the past. People have > learned to use it as a remedy to any problem they might see and cause > other problems without realizing that. This is the reason why we even > log each attempt to drop caches. > > I would rather not repeat the same mistake on the memcg level unless > there is a very strong reason for it. > I think we'd better add these comments above the function mem_cgroup_force_empty() to explain why we don't want to expose this interface in cgroup2, otherwise people will continue to send this proposal without any strong reason. > > Signed-off-by: Chunxin Zang <zangchunxin@...edance.com> > > --- > > Documentation/admin-guide/cgroup-v2.rst | 11 +++++++++++ > > mm/memcontrol.c | 5 +++++ > > 2 files changed, 16 insertions(+) > > > > diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst > > index ce3e05e41724..fbff959c8116 100644 > > --- a/Documentation/admin-guide/cgroup-v2.rst > > +++ b/Documentation/admin-guide/cgroup-v2.rst > > @@ -1181,6 +1181,17 @@ PAGE_SIZE multiple when read back. > > high limit is used and monitored properly, this limit's > > utility is limited to providing the final safety net. > > > > + memory.drop_cache > > + A write-only single value file which exists on non-root > > + cgroups. > > + > > + Provide a mechanism for users to actively trigger memory > > + reclaim. The cgroup will be reclaimed and as many pages > > + reclaimed as possible. > > + > > + It will broke low boundary. Because it tries to reclaim the > > + memory many times, until the memory drops to a certain level. > > + > > memory.oom.group > > A read-write single value file which exists on non-root > > cgroups. The default value is "0". > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > index 0b38b6ad547d..98646484efff 100644 > > --- a/mm/memcontrol.c > > +++ b/mm/memcontrol.c > > @@ -6226,6 +6226,11 @@ static struct cftype memory_files[] = { > > .write = memory_max_write, > > }, > > { > > + .name = "drop_cache", > > + .flags = CFTYPE_NOT_ON_ROOT, > > + .write = mem_cgroup_force_empty_write, > > + }, > > + { > > .name = "events", > > .flags = CFTYPE_NOT_ON_ROOT, > > .file_offset = offsetof(struct mem_cgroup, events_file), > > -- > > 2.11.0 > > -- > Michal Hocko > SUSE Labs > -- Thanks Yafang
Powered by blists - more mailing lists