[PATCH 0/3] mm: use memmap_on_memory semantics for dax/kmem

From: Vishal Verma
Date: Thu Jun 15 2023 - 18:01:14 EST


The dax/kmem driver can potentially hot-add large amounts of memory
originating from CXL memory expanders, or NVDIMMs, or other 'device
memories'. There is a chance there isn't enough regular system memory
available to fit ythe memmap for this new memory. It's therefore
desirable, if all other conditions are met, for the kmem managed memory
to place its memmap on the newly added memory itself.

Arrange for this by first allowing for a module parameter override for
the mhp_supports_memmap_on_memory() test using a flag, adjusting the
only other caller of this interface in dirvers/acpi/acpi_memoryhotplug.c,
exporting the symbol so it can be called by kmem.c, and finally changing
the kmem driver to add_memory() in chunks of memory_block_size_bytes().

Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx>
---
Vishal Verma (3):
mm/memory_hotplug: Allow an override for the memmap_on_memory param
mm/memory_hotplug: Export symbol mhp_supports_memmap_on_memory()
dax/kmem: Always enroll hotplugged memory for memmap_on_memory

include/linux/memory_hotplug.h | 2 +-
drivers/acpi/acpi_memhotplug.c | 2 +-
drivers/dax/kmem.c | 49 +++++++++++++++++++++++++++++++-----------
mm/memory_hotplug.c | 25 ++++++++++++++-------
4 files changed, 55 insertions(+), 23 deletions(-)
---
base-commit: f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6
change-id: 20230613-vv-kmem_memmap-5483c8d04279

Best regards,
--
Vishal Verma <vishal.l.verma@xxxxxxxxx>