linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: Yafang Shao <laoar.shao@gmail.com>
Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, guro@fb.com,
	chris@chrisdown.name, linux-mm@kvack.org
Subject: Re: [PATCH 3/3] mm: improvements on memcg protection functions
Date: Mon, 27 Apr 2020 11:40:06 +0200	[thread overview]
Message-ID: <20200427094006.GD28637@dhcp22.suse.cz> (raw)
In-Reply-To: <20200425152418.28388-4-laoar.shao@gmail.com>

On Sat 25-04-20 11:24:18, Yafang Shao wrote:
> Since proportional memory.{min, low} reclaim is introduced in
> commit 9783aa9917f8 ("mm, memcg: proportional memory.{low,min} reclaim"),
> it have been proved that the proportional reclaim is hard to understand and
> the issues caused by it is harder to understand.[1]. That dilemma faced by
> us is caused by that the proportional reclaim mixed up memcg and the
> reclaim context.
> 
> In proportional reclaim, the whole reclaim context - includes the memcg
> to be reclaimed and the reclaimer, should be considered, rather than
> memcg only.
> 
> To make it clear, a new member 'protection' is introduced in the reclaim
> context (struct shrink_control) to replace mem_cgroup_protection(). This

s@shrink_control@scan_control@

> one is set when we check whether the memcg is protected or not.
> 
> After this change, the issue pointed by me[1] - a really old left-over
> value can slow donw target reclaim - can be fixed, and I think it could
> also avoid some potential race.

The patch would have been much esier to review if you only focused on
the effective protection value caching. I really fail to see why you had
to make mem_cgroup_protected even more convoluted with more side effects
(e.g. sc->memcg_low_skipped). This goes directly opposite to what
Johannes was proposing in other email AFAICS.

Your changelog doesn't explain why double caching the effective value is
an improvement. I believe your goal was to drop the special casing for
the reclaim targets which are the only to ignore protection as they are
clearly violating the consumption constraints. This makes some sense
to me because it makes the special case have a local effect.

But I really dislike your patch. Please follow up on Johannes'
suggestion to split up the mem_cgroup_protected into parts
http://lkml.kernel.org/r/20200424134438.GA496852@cmpxchg.org

-- 
Michal Hocko
SUSE Labs


  reply	other threads:[~2020-04-27  9:40 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-25 15:24 [PATCH 0/3] mm: improve proportional memcg protection Yafang Shao
2020-04-25 15:24 ` [PATCH 1/3] mm: move struct scan_control into internal.h Yafang Shao
2020-04-25 15:24 ` [PATCH 2/3] mm: add reclaim context as a new parameter in mem_cgroup_protected() Yafang Shao
2020-04-25 15:24 ` [PATCH 3/3] mm: improvements on memcg protection functions Yafang Shao
2020-04-27  9:40   ` Michal Hocko [this message]
2020-04-27 10:09     ` Yafang Shao
2020-04-27 10:50       ` Michal Hocko
2020-04-27 11:06         ` Yafang Shao
2020-04-27 11:24           ` Michal Hocko
2020-04-27 11:32             ` Yafang Shao
2020-04-27 17:05 ` [PATCH 0/3] mm: improve proportional memcg protection Johannes Weiner
2020-04-28  1:45   ` Yafang Shao
2020-04-28  3:37     ` Johannes Weiner
2020-04-28  6:00       ` Yafang Shao
2020-04-28  8:05     ` Michal Hocko
2020-04-28  8:22       ` Yafang Shao
2020-04-28 10:43         ` Michal Hocko
2020-04-28 12:25           ` Yafang Shao
2020-04-28 12:42             ` 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=20200427094006.GD28637@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=chris@chrisdown.name \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=laoar.shao@gmail.com \
    --cc=linux-mm@kvack.org \
    /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