dax/kmem: allow kmem to add memory with memmap_on_memory
authorVishal Verma <vishal.l.verma@intel.com>
Tue, 7 Nov 2023 07:22:43 +0000 (00:22 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 11 Dec 2023 00:51:35 +0000 (16:51 -0800)
commit4eca0ef49af9b2b0c52ef2b58e045ab34629796b
tree9b9dc3590bd2dda96b9ccbec8a2d76c5d7cf3db3
parent6b8f0798b85aa529011570369db985a788f3003f
dax/kmem: allow kmem to add memory with memmap_on_memory

Large amounts of memory managed by the kmem driver may come in via CXL,
and it is often desirable to have the memmap for this memory on the new
memory itself.

Enroll kmem-managed memory for memmap_on_memory semantics if the dax
region originates via CXL.  For non-CXL dax regions, retain the existing
default behavior of hot adding without memmap_on_memory semantics.

Link: https://lkml.kernel.org/r/20231107-vv-kmem_memmap-v10-3-1253ec050ed0@intel.com
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: "Huang, Ying" <ying.huang@intel.com>
Tested-by: Li Zhijian <lizhijian@fujitsu.com> [cxl.kmem and nvdimm.kmem]
Cc: Michal Hocko <mhocko@suse.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Cc: Fan Ni <fan.ni@samsung.com>
Cc: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/dax/bus.c
drivers/dax/bus.h
drivers/dax/cxl.c
drivers/dax/dax-private.h
drivers/dax/hmem/hmem.c
drivers/dax/kmem.c
drivers/dax/pmem.c