cgroups.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
To: Michal Hocko <mhocko-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Chris Down <chris-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>,
	Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	kernel-team-b10kYP2dOMg@public.gmane.org
Subject: Re: [PATCH] mm, memcg: reclaim more aggressively before high allocator throttling
Date: Thu, 28 May 2020 16:11:17 -0400	[thread overview]
Message-ID: <20200528201117.GD69521@cmpxchg.org> (raw)
In-Reply-To: <20200528163101.GJ27484-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>

On Thu, May 28, 2020 at 06:31:01PM +0200, Michal Hocko wrote:
> On Thu 21-05-20 14:45:05, Johannes Weiner wrote:
> > After analyzing this problem, it's clear that we had an oversight
> > here: all other reclaimers are already familiar with the fact that
> > reclaim may not be able to complete the reclaim target in one call, or
> > that page reclaim is inherently racy and reclaim work can be stolen.
> 
> There is no disagreement here.
> 
> > We send a simple bug fix: bring this instance of reclaim in line with
> > how everybody else is using the reclaim API, to meet the semantics as
> > they are intendend and documented.
> 
> Here is where we are not on the same page though. Once you have identified
> that the main problem is that the reclaim fails too early to meet the
> target then the fix would be to enforce that target. I have asked why
> this hasn't been done and haven't got any real answer for that.

Then I encourage you to re-read the thread.

I have explained that reclaim invocations can fail to meet the
requested target for a variety of reasons, including dirty state or
other states that make memory temporarily unreclaimable, race
conditions between reclaimers and so forth.

I have also pointed out that this is widely acknowledged by the fact
that all other reclaimers retry in the exact same manner. If you want
to question that VM-wide precedence, please do so in your own patches.

As to the question around fairness, I have explained that fairness is
a best effort and that if push comes to shove, preventing premature
OOM situations or failing cgroup containment and causing system-wide
OOMs is more important.

> Instead what you call "a simple bug fix" has larger consequences
> which are not really explained in the changelog and they are also
> not really trivial to see. If the changelog explicitly stated that
> the proportional memory reclaim is not sufficient because XYZ and
> the implementation has been changed to instead meet the high limit
> target then this would be a completely different story and I believe
> we could have saved some discussion.

The point of memory.high reclaim is to meet the memory.high memory
limit. That, too, has been addressed - although it's astounding that
it needed to be pointed out. The proportionality is an attempt at
fairness that doesn't override the primary purpose.

I appreciate your concerns, but your questions have been addressed.

And you're not contributing anything of value to the conversation
until you familiarize yourself with the purpose of the memory.high
interface.

Thanks

  parent reply	other threads:[~2020-05-28 20:11 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-20 14:37 [PATCH] mm, memcg: reclaim more aggressively before high allocator throttling Chris Down
     [not found] ` <20200520143712.GA749486-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>
2020-05-20 16:07   ` Michal Hocko
2020-05-20 16:51     ` Johannes Weiner
2020-05-20 17:04       ` Michal Hocko
2020-05-20 17:51         ` Johannes Weiner
     [not found]           ` <20200520175135.GA793901-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-05-21  7:32             ` Michal Hocko
     [not found]               ` <20200521073245.GI6462-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-05-21 13:51                 ` Johannes Weiner
2020-05-21 14:22                   ` Johannes Weiner
     [not found]                   ` <20200521135152.GA810429-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-05-21 14:35                     ` Michal Hocko
     [not found]                       ` <20200521143515.GU6462-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-05-21 15:02                         ` Chris Down
2020-05-21 16:38                         ` Johannes Weiner
     [not found]                           ` <20200521163833.GA813446-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-05-21 17:37                             ` Michal Hocko
     [not found]                               ` <20200521173701.GX6462-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-05-21 18:45                                 ` Johannes Weiner
     [not found]                                   ` <20200521184505.GA815980-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-05-28 16:31                                     ` Michal Hocko
     [not found]                                       ` <20200528163101.GJ27484-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-05-28 16:48                                         ` Chris Down
     [not found]                                           ` <20200528164848.GB839178-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>
2020-05-29  7:31                                             ` Michal Hocko
2020-05-29 10:08                                               ` Chris Down
     [not found]                                                 ` <20200529100858.GA98458-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>
2020-05-29 10:14                                                   ` Michal Hocko
2020-05-28 20:11                                         ` Johannes Weiner [this message]
     [not found]     ` <20200520160756.GE6462-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-05-20 20:26       ` Chris Down
     [not found]         ` <20200520202650.GB558281-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>
2020-05-21  7:19           ` Michal Hocko
2020-05-21 11:27             ` Chris Down
     [not found]               ` <20200521112711.GA990580-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>
2020-05-21 12:04                 ` Michal Hocko
     [not found]                   ` <20200521120455.GM6462-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-05-21 12:23                     ` Chris Down
     [not found]                       ` <20200521122327.GB990580-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>
2020-05-21 12:24                         ` Chris Down
2020-05-21 12:37                       ` Michal Hocko
2020-05-21 12:57                         ` Chris Down
     [not found]                           ` <20200521125759.GD990580-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>
2020-05-21 13:05                             ` Chris Down
     [not found]                               ` <20200521130530.GE990580-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>
2020-05-21 13:28                                 ` Michal Hocko
2020-05-21 13:21                             ` Michal Hocko
     [not found]                               ` <20200521132120.GR6462-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-05-21 13:41                                 ` Chris Down
     [not found]                                   ` <20200521133324.GF990580-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>
2020-05-21 13:58                                     ` Michal Hocko
2020-05-21 14:22                                       ` Chris Down
2020-05-21 12:28                 ` Michal Hocko
2020-05-28 18:02 ` Shakeel Butt
     [not found]   ` <CALvZod7rSeAKXKq_V0SggZWn4aL8pYWJiej4NdRd8MmuwUzPEw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-05-28 19:48     ` Chris Down
     [not found]       ` <20200528194831.GA2017-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org>
2020-05-28 20:29         ` Johannes Weiner
     [not found]           ` <20200528202944.GA76514-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-05-28 21:02             ` Shakeel Butt
2020-05-28 21:14             ` Chris Down
2020-05-29  7:25             ` 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=20200528201117.GD69521@cmpxchg.org \
    --to=hannes-druugvl0lcnafugrpc6u6w@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=chris-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org \
    --cc=kernel-team-b10kYP2dOMg@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
    --cc=mhocko-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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;
as well as URLs for NNTP newsgroup(s).