From: Michal Hocko <mhocko@suse.com>
To: Huangzhaoyang <huangzhaoyang@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Vladimir Davydov <vdavydov.dev@gmail.com>,
Zhaoyang Huang <zhaoyang.huang@unisoc.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm: skip current when memcg reclaim
Date: Mon, 18 Oct 2021 10:23:07 +0200 [thread overview]
Message-ID: <YW0u67o8wl3CGikP@dhcp22.suse.cz> (raw)
In-Reply-To: <1634278529-16983-1-git-send-email-huangzhaoyang@gmail.com>
On Fri 15-10-21 14:15:29, Huangzhaoyang wrote:
> From: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
>
> Sibling thread of the same process could refault the reclaimed pages
> in the same time, which would be typical in None global reclaim and
> introduce thrashing.
It is hard to understand what kind of problem you see (ideally along
with some numbers) and how the proposed patch addresses that problem
Also you are missing Signed-off-by tag (please have a look at
Documentation/process/submitting-patches.rst which is much more
comprehensive about the process).
> ---
> mm/vmscan.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index 5199b96..ebbdc37 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -2841,6 +2841,11 @@ static void shrink_node_memcgs(pg_data_t *pgdat, struct scan_control *sc)
> sc->memcg_low_skipped = 1;
> continue;
> }
> + /*
> + * Don't bother current when its memcg is below low
> + */
> + if (get_mem_cgroup_from_mm(current->mm) == memcg)
> + continue;
This code is executed when none of memcg in the reclaimed hierarchy
could be reclaimed. Low limit is then ignored and this change is
tweaking that behavior without any description of the effect. A very
vague note about trashing would indicate that you have something like
the following
A (hiting hard limit)
/ \
B C
Both B and C low limit protected and current task associated with B. As
none of the two could be reclaimed due to soft protection yuu prefer to
reclaim from C as you do not want to reclaim from the current process as
that could reclaim current's working set. Correct?
I would be really curious about more specifics of the used hierarchy.
Thanks!
> memcg_memory_event(memcg, MEMCG_LOW);
> }
>
> --
> 1.9.1
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2021-10-18 8:23 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-15 6:15 Huangzhaoyang
2021-10-15 20:00 ` Andrew Morton
2021-10-16 2:28 ` Zhaoyang Huang
2021-10-16 2:58 ` Andrew Morton
2021-10-16 3:05 ` Matthew Wilcox
2021-10-16 8:17 ` Zhaoyang Huang
2021-10-18 8:23 ` Michal Hocko [this message]
2021-10-18 9:25 ` Zhaoyang Huang
2021-10-18 12:41 ` Michal Hocko
2021-10-19 7:11 ` Zhaoyang Huang
2021-10-19 9:09 ` Michal Hocko
2021-10-19 12:17 ` Zhaoyang Huang
2021-10-19 13:23 ` Michal Hocko
2021-10-20 7:33 ` Zhaoyang Huang
2021-10-20 8:55 ` Michal Hocko
2021-10-20 11:45 ` Zhaoyang Huang
2021-10-20 15:11 ` Michal Hocko
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=YW0u67o8wl3CGikP@dhcp22.suse.cz \
--to=mhocko@suse.com \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=huangzhaoyang@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--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