From: Michal Hocko <mhocko@suse.com>
To: Davidlohr Bueso <dave@stgolabs.net>
Cc: linux-mm@kvack.org, akpm@linux-foundation.org,
rientjes@google.com, yosryahmed@google.com, hannes@cmpxchg.org,
almasrymina@google.com, roman.gushchin@linux.dev,
gthelen@google.com, dseo3@uci.edu, a.manzanares@samsung.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH -next] mm: introduce per-node proactive reclaim interface
Date: Mon, 9 Sep 2024 09:20:26 +0200 [thread overview]
Message-ID: <Zt6hur2TZJUrJ2IU@tiehlicka> (raw)
In-Reply-To: <20240904162740.1043168-1-dave@stgolabs.net>
On Wed 04-09-24 09:27:40, Davidlohr Bueso wrote:
> This adds support for allowing proactive reclaim in general on a
> NUMA system. A per-node interface extends support for beyond a
> memcg-specific interface, respecting the current semantics of
> memory.reclaim: respecting aging LRU and not supporting
> artificially triggering eviction on nodes belonging to non-bottom
> tiers.
>
> This patch allows userspace to do:
>
> echo 512M swappiness=10 > /sys/devices/system/node/nodeX/reclaim
>
> One of the premises for this is to semantically align as best as
> possible with memory.reclaim. During a brief time memcg did
> support nodemask until 55ab834a86a9 (Revert "mm: add nodes=
> arg to memory.reclaim"), for which semantics around reclaim
> (eviction) vs demotion were not clear, rendering charging
> expectations to be broken.
>
> With this approach:
>
> 1. Users who do not use memcg can benefit from proactive reclaim.
It would be great to have some specific examples here. Is there a
specific reason memcg is not used?
> 2. Proactive reclaim on top tiers will trigger demotion, for which
> memory is still byte-addressable. Reclaiming on the bottom nodes
> will trigger evicting to swap (the traditional sense of reclaim).
> This follows the semantics of what is today part of the aging process
> on tiered memory, mirroring what every other form of reclaim does
> (reactive and memcg proactive reclaim). Furthermore per-node proactive
> reclaim is not as susceptible to the memcg charging problem mentioned
> above.
>
> 3. Unlike memcg, there should be no surprises of callers expecting
> reclaim but instead got a demotion. Essentially relying on behavior
> of shrink_folio_list() after 6b426d071419 (mm: disable top-tier
> fallback to reclaim on proactive reclaim), without the expectations
> of try_to_free_mem_cgroup_pages().
I am not sure I understand. If you demote then you effectively reclaim
because you free up memory on the specific node. Or do I just misread
what you mean? Maybe you meant to say that the overall memory
consumption on all nodes is not affected?
Your point 4 and 5 follows up on this so we should better clarify that
before going there.
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2024-09-09 7:20 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-04 16:27 Davidlohr Bueso
2024-09-04 20:18 ` Andrew Morton
2024-09-05 1:08 ` Davidlohr Bueso
2024-09-05 1:15 ` Andrew Morton
2024-09-05 3:35 ` Davidlohr Bueso
2024-09-05 7:31 ` Yosry Ahmed
2024-09-04 21:29 ` Yosry Ahmed
2024-09-05 21:59 ` Hillf Danton
2024-09-05 23:29 ` Davidlohr Bueso
2024-09-06 11:04 ` Hillf Danton
2024-09-09 7:12 ` Michal Hocko
2024-09-09 10:51 ` Hillf Danton
2024-09-09 14:50 ` Michal Hocko
2024-09-09 7:20 ` Michal Hocko [this message]
2024-09-10 16:31 ` Davidlohr Bueso
2024-09-11 6:49 ` 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=Zt6hur2TZJUrJ2IU@tiehlicka \
--to=mhocko@suse.com \
--cc=a.manzanares@samsung.com \
--cc=akpm@linux-foundation.org \
--cc=almasrymina@google.com \
--cc=dave@stgolabs.net \
--cc=dseo3@uci.edu \
--cc=gthelen@google.com \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rientjes@google.com \
--cc=roman.gushchin@linux.dev \
--cc=yosryahmed@google.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