From: Roman Gushchin <roman.gushchin@linux.dev>
To: Michal Hocko <mhocko@suse.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Shakeel Butt <shakeelb@google.com>,
Muchun Song <muchun.song@linux.dev>,
linux-mm@kvack.org
Subject: Re: [PATCH] memcg: drop kmem.limit_in_bytes
Date: Fri, 7 Jul 2023 09:40:20 -0700 [thread overview]
Message-ID: <ZKg/9FQj3O572tkT@P9FQF9L96D.lan> (raw)
In-Reply-To: <ZKe5wxdbvPi5Cwd7@dhcp22.suse.cz>
On Fri, Jul 07, 2023 at 09:07:47AM +0200, Michal Hocko wrote:
> On Wed 05-07-23 09:44:34, Johannes Weiner wrote:
> [...]
> > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> > > index 4b27e245a055..a0d3ed8d02e2 100644
> > > --- a/mm/memcontrol.c
> > > +++ b/mm/memcontrol.c
> > > @@ -3750,9 +3750,6 @@ static u64 mem_cgroup_read_u64(struct cgroup_subsys_state *css,
> > > case _MEMSWAP:
> > > counter = &memcg->memsw;
> > > break;
> > > - case _KMEM:
> > > - counter = &memcg->kmem;
> > > - break;
> > > case _TCP:
> > > counter = &memcg->tcpmem;
> > > break;
> >
> > This case is still needed for the remaining kmem files:
> >
> > {
> > .name = "kmem.usage_in_bytes",
> > .private = MEMFILE_PRIVATE(_KMEM, RES_USAGE),
> > .read_u64 = mem_cgroup_read_u64,
> > },
> > {
> > .name = "kmem.failcnt",
> > .private = MEMFILE_PRIVATE(_KMEM, RES_FAILCNT),
> > .write = mem_cgroup_reset,
> > .read_u64 = mem_cgroup_read_u64,
> > },
> > {
> > .name = "kmem.max_usage_in_bytes",
> > .private = MEMFILE_PRIVATE(_KMEM, RES_MAX_USAGE),
> > .write = mem_cgroup_reset,
> > .read_u64 = mem_cgroup_read_u64,
> > },
> >
> > otherwise they BUG() when reading.
> >
> > Without this hunk, the patch looks good to me.
>
> You are right! Thanks. The updated patch below. Andrew could you replace
> by this version please?
> ---
> From b1bbc63b6baff9c5aaf30393cec29112b3abca25 Mon Sep 17 00:00:00 2001
> From: Michal Hocko <mhocko@suse.com>
> Date: Tue, 4 Jul 2023 13:38:11 +0200
> Subject: [PATCH] memcg: drop kmem.limit_in_bytes
>
> kmem.limit_in_bytes (v1 way to limit kernel memory usage) has been
> deprecated since 58056f77502f ("memcg, kmem: further deprecate
> kmem.limit_in_bytes") merged in 5.16. We haven't heard about any
> serious users since then but it seems that the mere presence of the file
> is causing more harm thatn good. We (SUSE) have had several bug reports
> from customers where Docker based containers started to fail because a
> write to kmem.limit_in_bytes has failed.
>
> This was unexpected because runc code only expects ENOENT (kmem
> disabled) or EBUSY (tasks already running within cgroup). So a new error
> code was unexpected and the whole container startup failed. This has
> been later addressed by
> https://github.com/opencontainers/runc/commit/52390d68040637dfc77f9fda6bbe70952423d380
> so current Docker runtimes do not suffer from the problem anymore. There
> are still older version of Docker in use and likely hard to get rid of
> completely.
>
> Address this by wiping out the file completely and effectively get back
> to pre 4.5 era and CONFIG_MEMCG_KMEM=n configuration.
>
> I would recommend backporting to stable trees which have picked up
> 58056f77502f ("memcg, kmem: further deprecate kmem.limit_in_bytes").
>
> Cc: stable
> Signed-off-by: Michal Hocko <mhocko@suse.com>
Acked-by: Roman Gushchin <roman.gushchin@linux.dev>
Thanks!
prev parent reply other threads:[~2023-07-07 16:40 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-04 11:52 Michal Hocko
2023-07-05 5:13 ` Shakeel Butt
2023-07-05 13:44 ` Johannes Weiner
2023-07-07 7:07 ` Michal Hocko
2023-07-07 13:50 ` Johannes Weiner
2023-07-07 16:40 ` Roman Gushchin [this message]
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=ZKg/9FQj3O572tkT@P9FQF9L96D.lan \
--to=roman.gushchin@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=muchun.song@linux.dev \
--cc=shakeelb@google.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