[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250403132954.0000779f@huawei.com>
Date: Thu, 3 Apr 2025 13:29:54 +0100
From: Jonathan Cameron <Jonathan.Cameron@...wei.com>
To: Oscar Salvador <osalvador@...e.de>
CC: Andrew Morton <akpm@...ux-foundation.org>, David Hildenbrand
<david@...hat.com>, <linux-mm@...ck.org>, <linux-kernel@...r.kernel.org>,
Vlastimil Babka <vbabka@...e.cz>, Hyeonggon Yoo <42.hyeyoo@...il.com>,
<mkoutny@...e.com>, Dan Williams <dan.j.williams@...el.com>,
<linux-cxl@...r.kernel.org>
Subject: Re: [PATCH 0/2] Implement numa node notifier
On Tue, 1 Apr 2025 11:27:14 +0200
Oscar Salvador <osalvador@...e.de> wrote:
> Memory notifier is a tool that allow consumers to get notified whenever
> memory gets onlined or offlined in the system.
> Currently, there are 10 consumers of that, but 5 out of those 10 consumers
> are only interested in getting notifications when a numa node has changed its
> state.
> That means going from memoryless to memory-aware of vice versa.
>
> Which means that for every {online,offline}_pages operation they get
> notified even though the numa node might not have changed its state.
>
> The first patch implements a numa node notifier that does just that, and have
> those consumers register in there, so they get notified only when they are
> interested.
>
> The second patch replaces 'status_change_normal{_normal}' fields within
> memory_notify with a 'nid', as that is only what we need for memory
> notifer and update the only user of it (page_ext).
>
> Consumers that are only interested in numa node states change are:
>
> - memory-tier
> - slub
> - cpuset
> - hmat
> - cxl
>
Hi Oscar,
Idea seems good to me.
+CC linux-cxl for information of others not on the thread.
>
> Oscar Salvador (2):
> mm,memory_hotplug: Implement numa node notifier
> mm,memory_hotplug: Replace status_change_nid parameter in
> memory_notify
>
> drivers/acpi/numa/hmat.c | 6 +--
> drivers/base/node.c | 19 +++++++++
> drivers/cxl/core/region.c | 14 +++----
> drivers/cxl/cxl.h | 4 +-
> include/linux/memory.h | 37 ++++++++++++++++++
> kernel/cgroup/cpuset.c | 2 +-
> mm/memory-tiers.c | 8 ++--
> mm/memory_hotplug.c | 82 +++++++++++++++++++++++++++++----------
> mm/page_ext.c | 12 +-----
> mm/slub.c | 22 +++++------
> 10 files changed, 146 insertions(+), 60 deletions(-)
>
Powered by blists - more mailing lists