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 [PATCH -next] mm: introduce per-node proactive reclaim interface 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 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.