All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Weiner <hannes@cmpxchg.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Hocko <mhocko@kernel.org>, Tejun Heo <tj@kernel.org>,
	Roman Gushchin <guro@fb.com>,
	linux-mm@kvack.org, cgroups@vger.kernel.org,
	linux-kernel@vger.kernel.org, kernel-team@fb.com
Subject: Re: [PATCH] mm: memcontrol: asynchronous reclaim for memory.high
Date: Wed, 19 Feb 2020 16:33:35 -0500	[thread overview]
Message-ID: <20200219213335.GE54486@cmpxchg.org> (raw)
In-Reply-To: <20200219113139.ee60838bc7eb35747eb330fa@linux-foundation.org>

On Wed, Feb 19, 2020 at 11:31:39AM -0800, Andrew Morton wrote:
> But what was the nature of these stalls?  If they were "stuck in D
> state waiting for something" then that's throttling.  If they were
> "unexpected bursts of in-kernel CPU activity" then I see a better case.

It was both.

However, the workload was able to perform with no direct reclaim
activity and no stalls, while memory.high semantics were never
violated. This means that allocation rate was not outstripping reclaim
rate, just that both of these things happened in bursts and sputters.

If the workload isn't exceeding the memory.high grace buffer, it seems
unnecessary to make it wait behind a reclaim invocation that gets
delayed on IO but will succeed before the workload comes back for the
next allocation. We can just let it get on with its thing, actually
work with the memory it just obtained, while background reclaim will
free pages as they become reclaimable. This is a win-win situation.

  reply	other threads:[~2020-02-19 21:33 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-19 18:12 [PATCH] mm: memcontrol: asynchronous reclaim for memory.high Johannes Weiner
2020-02-19 18:12 ` Johannes Weiner
2020-02-19 18:37 ` Michal Hocko
2020-02-19 18:37   ` Michal Hocko
2020-02-19 19:16   ` Johannes Weiner
2020-02-19 19:16     ` Johannes Weiner
2020-02-19 19:53     ` Michal Hocko
2020-02-19 19:53       ` Michal Hocko
2020-02-19 21:17       ` Johannes Weiner
2020-02-20  9:46         ` Michal Hocko
2020-02-20  9:46           ` Michal Hocko
2020-02-20 14:41           ` Johannes Weiner
2020-02-20 14:41             ` Johannes Weiner
2020-02-19 21:41       ` Daniel Jordan
2020-02-19 21:41         ` Daniel Jordan
2020-02-19 22:08         ` Johannes Weiner
2020-02-19 22:08           ` Johannes Weiner
2020-02-20 15:45           ` Daniel Jordan
2020-02-20 15:45             ` Daniel Jordan
2020-02-20 15:56             ` Tejun Heo
2020-02-20 15:56               ` Tejun Heo
2020-02-20 18:23               ` Daniel Jordan
2020-02-20 18:23                 ` Daniel Jordan
2020-02-20 18:45                 ` Tejun Heo
2020-02-20 18:45                   ` Tejun Heo
2020-02-20 19:55                   ` Daniel Jordan
2020-02-20 19:55                     ` Daniel Jordan
2020-02-20 20:54                     ` Tejun Heo
2020-02-20 20:54                       ` Tejun Heo
2020-02-19 19:17   ` Chris Down
2020-02-19 19:17     ` Chris Down
2020-02-19 19:31   ` Andrew Morton
2020-02-19 19:31     ` Andrew Morton
2020-02-19 21:33     ` Johannes Weiner [this message]
2020-02-26 20:25 ` Shakeel Butt
2020-02-26 20:25   ` Shakeel Butt
2020-02-26 20:25   ` Shakeel Butt
2020-02-26 22:26   ` Johannes Weiner
2020-02-26 22:26     ` Johannes Weiner
2020-02-26 23:36     ` Shakeel Butt
2020-02-26 23:36       ` Shakeel Butt
2020-02-26 23:36       ` Shakeel Butt
2020-02-26 23:46       ` Johannes Weiner
2020-02-27  0:12     ` Yang Shi
2020-02-27  0:12       ` Yang Shi
2020-02-27  2:42       ` Shakeel Butt
2020-02-27  2:42         ` Shakeel Butt
2020-02-27  2:42         ` Shakeel Butt
2020-02-27  9:58       ` Michal Hocko
2020-02-27  9:58         ` Michal Hocko
2020-02-27 12:50       ` Johannes Weiner
2020-02-27 12:50         ` Johannes Weiner
2020-02-26 23:59   ` Yang Shi
2020-02-26 23:59     ` Yang Shi
2020-02-27  2:36     ` Shakeel Butt
2020-02-27  2:36       ` Shakeel Butt

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=20200219213335.GE54486@cmpxchg.org \
    --to=hannes@cmpxchg.org \
    --cc=akpm@linux-foundation.org \
    --cc=cgroups@vger.kernel.org \
    --cc=guro@fb.com \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=tj@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.