From: Michal Hocko <mhocko@suse.com>
To: Shakeel Butt <shakeelb@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>,
Roman Gushchin <guro@fb.com>, Yang Shi <shy828301@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linux MM <linux-mm@kvack.org>, Cgroups <cgroups@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mm: memcg: add swapcache stat for memcg v2
Date: Fri, 8 Jan 2021 14:24:14 +0100 [thread overview]
Message-ID: <20210108132414.GD13207@dhcp22.suse.cz> (raw)
In-Reply-To: <CALvZod6Lv3gWmWRPP7jAaw4YCQPyPXcxqXTO3Vp6YVZ6AcEH4w@mail.gmail.com>
On Wed 06-01-21 08:42:39, Shakeel Butt wrote:
> On Wed, Jan 6, 2021 at 6:53 AM Michal Hocko <mhocko@suse.com> wrote:
> >
> > On Thu 31-12-20 18:39:55, Shakeel Butt wrote:
> > > This patch adds swapcache stat for the cgroup v2. The swapcache
> > > represents the memory that is accounted against both the memory and the
> > > swap limit of the cgroup. The main motivation behind exposing the
> > > swapcache stat is for enabling users to gracefully migrate from cgroup
> > > v1's memsw counter to cgroup v2's memory and swap counters.
> > >
> > > Cgroup v1's memsw limit allows users to limit the memory+swap usage of a
> > > workload but without control on the exact proportion of memory and swap.
> > > Cgroup v2 provides separate limits for memory and swap which enables
> > > more control on the exact usage of memory and swap individually for the
> > > workload.
> > >
> > > With some little subtleties, the v1's memsw limit can be switched with
> > > the sum of the v2's memory and swap limits. However the alternative for
> > > memsw usage is not yet available in cgroup v2. Exposing per-cgroup
> > > swapcache stat enables that alternative. Adding the memory usage and
> > > swap usage and subtracting the swapcache will approximate the memsw
> > > usage. This will help in the transparent migration of the workloads
> > > depending on memsw usage and limit to v2' memory and swap counters.
> >
> > Could you expand a bit more on why memsw usage is important even in
> > cgroup v2 land? How are you going to use the approximated value?
> >
>
> Two main benefits. First, it hides the underlying system's swap setup
> from the applications. Applications with multiple instances running in
> a datacenter with heterogeneous systems (some have swap and some
> don't) will keep seeing a consistent view of their usage.
>
> Second, most of the applications (at least in our prod) are not really
> interested in two separate memory and swap usage metrics. A single
> usage metric is more simple to use and reason about for these
> applications.
OK fair enough. Thanks for the clarification.
As I've said I do not see any problem with exporting the counter.
Acked-by: Michal Hocko <mhocko@suse.com>
--
Michal Hocko
SUSE Labs
prev parent reply other threads:[~2021-01-08 13:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-01 2:39 Shakeel Butt
2021-01-06 14:53 ` Michal Hocko
2021-01-06 16:42 ` Shakeel Butt
2021-01-08 13:24 ` Michal Hocko [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=20210108132414.GD13207@dhcp22.suse.cz \
--to=mhocko@suse.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=guro@fb.com \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=shakeelb@google.com \
--cc=shy828301@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