Commit c1287d67 authored by Sumanth Korikkar's avatar Sumanth Korikkar Committed by Heiko Carstens
Browse files

s390/sclp_mem: Consider global memory_hotplug.memmap_on_memory setting



When the global kernel command line parameter
memory_hotplug.memmap_on_memory is set to false, per-memory-block
memmap_on_memory setting can still be set to true. However, when
configuring memory block, add_memory_resource() would configure it
without memmap_on_memory.

i.e.
Even if the MHP_MEMMAP_ON_MEMORY flag is set,
mhp_supports_memmap_on_memory() returns false unless the kernel command
line parameter "memory_hotplug.memmap_on_memory" is enabled. When both
the flag and the cmdline parameter are set, the memory block can be
configured with or without memmap_on_memory support.

To ensure consistent behavior, permit configuring per-memory-block
memmap_on_memory only when the memory_hotplug.memmap_on_memory kernel
command line parameter is enabled.

This is similar to commit 73954d37 ("dax: add a sysfs knob to
control memmap_on_memory behavior")

Fixes: ff18dcb1 ("s390/sclp: Add support for dynamic (de)configuration of memory")
Signed-off-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent 8840cc45
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -275,6 +275,8 @@ static ssize_t sclp_memmap_on_memory_store(struct kobject *kobj, struct kobj_att
	rc = kstrtobool(buf, &value);
	if (rc)
		return rc;
	if (value && !mhp_supports_memmap_on_memory())
		return -EOPNOTSUPP;
	rc = lock_device_hotplug_sysfs();
	if (rc)
		return rc;