From: Zhaoyang Huang <huangzhaoyang@gmail.com>
To: Michal Hocko <mhocko@suse.com>
Cc: Suren Baghdasaryan <surenb@google.com>,
"zhaoyang.huang" <zhaoyang.huang@unisoc.com>,
Andrew Morton <akpm@linux-foundation.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Vladimir Davydov <vdavydov.dev@gmail.com>,
"open list:MEMORY MANAGEMENT" <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>,
cgroups mailinglist <cgroups@vger.kernel.org>,
Ke Wang <ke.wang@unisoc.com>
Subject: Re: [RFC PATCH] cgroup: introduce dynamic protection for memcg
Date: Wed, 6 Apr 2022 10:11:19 +0800 [thread overview]
Message-ID: <CAGWkznG=QH3HRSzgum0sQBkyQAahqgiWf8nXCv1qXstxrn7e8w@mail.gmail.com> (raw)
In-Reply-To: <YkwxNaJIg6ptJOYT@dhcp22.suse.cz>
On Tue, Apr 5, 2022 at 8:08 PM Michal Hocko <mhocko@suse.com> wrote:
>
> On Mon 04-04-22 21:14:40, Zhaoyang Huang wrote:
> [...]
> > Please be noticed that this patch DOES protect the memcg when external
> > pressure is 1GB as fixed low does.
>
> This is getting more and more confusing (at least to me). Could you
> describe the behavior of the reclaim for the following setups/situations?
>
> a) mostly reclaiming a clean page cache - via kswapd
> b) same as above but the direct reclaim is necessary but very
> lightweight
> c) direct reclaim makes fwd progress but not enough to satisfy the
> allocation request (so the reclaim has to be retried)
> d) direct reclaim not making progress and low limit protection is
> ignored.
>
> Say we have several memcgs and only some have low memory protection
> configured. What is the user observable state of the protected group and
> when and how much the protection can be updated?
I am not sure if I understand you right. Do you have suspicions on the
test result as you think protected memcg has no chance to update the
protection or the global reclaim should have been satisfied with the
reclaiming(step d is hard to reach?). Let me try to answer it under my
understanding, please give me feedback if you need more info. The
protection is updated while mem_cgroup_calculate_protection is called
during either kswapd or direct reclaim for each round of the priority
reclaiming and then the memcg's lruvec will be reached in step d.
>
> I think it would be also helpful to describe the high level semantic of
> this feature.
>
> > Besides, how does the admin decide
> > the exact number of low/min if it expand from small to even xGB in a
> > quick changing scenario?
>
> This is not really related, is it? There are different ways to tune for
> the protection.
I don't think so. IMO, it is hard to protect when memcg has a wide and
random range of its usage especially when depending on scenarios. Does
the example of EAS on scheduler make more sense? When comparing with
the legacy CFS, EAS does be against to some original design as load
balance etc, while it will keep some small tasks into one CORE.
>
> [...]
> --
> Michal Hocko
> SUSE Labs
next prev parent reply other threads:[~2022-04-06 2:12 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-31 8:00 zhaoyang.huang
2022-03-31 9:01 ` Michal Hocko
2022-03-31 11:18 ` Zhaoyang Huang
2022-03-31 11:35 ` Michal Hocko
2022-03-31 19:26 ` Suren Baghdasaryan
2022-04-01 1:51 ` Zhaoyang Huang
2022-04-01 4:46 ` Suren Baghdasaryan
2022-04-02 3:21 ` Zhaoyang Huang
2022-04-01 1:34 ` Zhaoyang Huang
2022-04-01 11:34 ` Michal Hocko
2022-04-02 5:18 ` Zhaoyang Huang
2022-04-03 15:04 ` Suren Baghdasaryan
2022-04-04 2:33 ` Zhaoyang Huang
2022-04-04 8:51 ` Michal Hocko
2022-04-04 9:07 ` Zhaoyang Huang
2022-04-04 9:23 ` Zhaoyang Huang
2022-04-04 9:32 ` Michal Hocko
2022-04-04 9:36 ` Michal Hocko
2022-04-04 11:35 ` Zhaoyang Huang
2022-04-04 11:23 ` Zhaoyang Huang
2022-04-04 12:29 ` Michal Hocko
2022-04-04 13:14 ` Zhaoyang Huang
2022-04-05 12:08 ` Michal Hocko
2022-04-06 2:11 ` Zhaoyang Huang [this message]
2022-04-07 7:40 ` Michal Hocko
2022-04-07 8:59 ` Zhaoyang Huang
2022-04-07 9:44 ` Michal Hocko
2022-04-07 12:36 ` Zhaoyang Huang
2022-04-07 14:14 ` Michal Hocko
2022-04-06 8:21 ` Zhaoyang Huang
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='CAGWkznG=QH3HRSzgum0sQBkyQAahqgiWf8nXCv1qXstxrn7e8w@mail.gmail.com' \
--to=huangzhaoyang@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=ke.wang@unisoc.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=surenb@google.com \
--cc=vdavydov.dev@gmail.com \
--cc=zhaoyang.huang@unisoc.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