From: "David Hildenbrand (Arm)" <david@kernel.org>
To: Gregory Price <gourry@gourry.net>,
linux-mm@kvack.org, vishal.l.verma@intel.com,
dave.jiang@intel.com, akpm@linux-foundation.org,
osalvador@suse.de
Cc: dan.j.williams@intel.com, ljs@kernel.org,
Liam.Howlett@oracle.com, vbabka@kernel.org, rppt@kernel.org,
surenb@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org,
nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org,
kernel-team@meta.com
Subject: Re: [PATCH 4/8] mm/memory_hotplug: export mhp_get_default_online_type
Date: Mon, 13 Apr 2026 17:18:21 +0200 [thread overview]
Message-ID: <f4436f23-3af5-4b07-a582-69ff704dc17c@kernel.org> (raw)
In-Reply-To: <20260321150404.3288786-5-gourry@gourry.net>
On 3/21/26 16:04, Gregory Price wrote:
> Drivers which may pass hotplug policy down to DAX need MMOP_ symbols
> and the mhp_get_default_online_type function for hotplug use cases.
>
> Some drivers (cxl) co-mingle their hotplug and devdax use-cases into
> the same driver code, and chose the dax_kmem path as the default driver
> path - making it difficult to require hotplug as a predicate to building
> the overall driver (it may break other non-hotplug use-cases).
>
> Export mhp_get_default_online_type function to allow these drivers to
> build when hotplug is disabled and still use the DAX use case.
>
> In the built-out case we simply return MMOP_OFFLINE as it's
> non-destructive. The internal function can never return -1 either,
> so we choose this to allow for defining the function with 'enum mmop'.
>
> Signed-off-by: Gregory Price <gourry@gourry.net>
> ---
> include/linux/memory_hotplug.h | 29 +++++++++++++++++++++++++++++
> mm/memory_hotplug.c | 1 +
> 2 files changed, 30 insertions(+)
>
> diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h
> index e77ef3d7ff73..a8bcb36f93b8 100644
> --- a/include/linux/memory_hotplug.h
> +++ b/include/linux/memory_hotplug.h
> @@ -6,6 +6,7 @@
> #include <linux/spinlock.h>
> #include <linux/notifier.h>
> #include <linux/bug.h>
> +#include <linux/errno.h>
>
> struct page;
> struct zone;
> @@ -28,6 +29,27 @@ enum mmop {
> MMOP_ONLINE_MOVABLE,
> };
>
> +/**
> + * mmop_to_str - convert memory online type to string
> + * @online_type: the MMOP_* value to convert
> + *
> + * Returns a string representation of the memory online type,
> + * suitable for sysfs output (includes trailing newline).
> + */
> +static inline const char *mmop_to_str(enum mmop online_type)
> +{
> + switch (online_type) {
> + case MMOP_ONLINE:
> + return "online\n";
> + case MMOP_ONLINE_KERNEL:
> + return "online_kernel\n";
> + case MMOP_ONLINE_MOVABLE:
> + return "online_movable\n";
> + default:
> + return "offline\n";
> + }
> +}
In drivers/base/memory.c we have online_type_to_str[]. Likely you should
build upon that, and locate the code in there as well (or move all of
that to the same header). And call the function something matching like
mhp_online_type_to_str().
But, the patch description only spells out exporting
mhp_get_default_online_type(), so something is missing here why these
changes are even included in this patch.
--
Cheers,
David
next prev parent reply other threads:[~2026-04-13 15:18 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-21 15:03 [PATCH 0/8] dax/kmem: atomic whole-device hotplug via sysfs Gregory Price
2026-03-21 15:03 ` [PATCH 1/8] mm/memory-tiers: consolidate memory type dedup into mt_get_memory_type() Gregory Price
2026-04-13 15:06 ` David Hildenbrand (Arm)
2026-03-21 15:03 ` [PATCH 2/8] mm/memory: add memory_block_align_range() helper Gregory Price
2026-04-13 15:12 ` David Hildenbrand (Arm)
2026-03-21 15:03 ` [PATCH 3/8] mm/memory_hotplug: pass online_type to online_memory_block() via arg Gregory Price
2026-03-21 15:04 ` [PATCH 4/8] mm/memory_hotplug: export mhp_get_default_online_type Gregory Price
2026-04-13 15:18 ` David Hildenbrand (Arm) [this message]
2026-03-21 15:04 ` [PATCH 5/8] mm/memory_hotplug: add __add_memory_driver_managed() with online_type arg Gregory Price
2026-04-13 15:21 ` David Hildenbrand (Arm)
2026-03-21 15:04 ` [PATCH 6/8] dax: plumb hotplug online_type through dax Gregory Price
2026-04-13 15:23 ` David Hildenbrand (Arm)
2026-03-21 15:04 ` [PATCH 7/8] dax/kmem: extract hotplug/hotremove helper functions Gregory Price
2026-03-21 15:04 ` [PATCH 8/8] dax/kmem: add sysfs interface for atomic whole-device hotplug Gregory Price
2026-03-21 17:40 ` [PATCH 0/8] dax/kmem: atomic whole-device hotplug via sysfs Andrew Morton
2026-03-21 20:26 ` Gregory Price
2026-04-13 15:47 ` David Hildenbrand (Arm)
2026-04-13 14:49 ` David Hildenbrand (Arm)
2026-04-13 14:53 ` David Hildenbrand (Arm)
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=f4436f23-3af5-4b07-a582-69ff704dc17c@kernel.org \
--to=david@kernel.org \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=gourry@gourry.net \
--cc=kernel-team@meta.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ljs@kernel.org \
--cc=mhocko@suse.com \
--cc=nvdimm@lists.linux.dev \
--cc=osalvador@suse.de \
--cc=rppt@kernel.org \
--cc=surenb@google.com \
--cc=vbabka@kernel.org \
--cc=vishal.l.verma@intel.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