ARM: dts: msm: Enable memmap_on_memory on arm64 on sun-vm

Memmap_on_memory changes the behaviour of memory hotplug to reserve
the first X Mb of a memory block for the struct page array. On arm64,
the size of the struct page array for a 128Mb memory block is 2Mb.
However, the memory-hotplug code requires X to be pageblock aligned (4Mb).

memory_hotplug.memmap_on_memory="force" informs the memory-hotplug core
to round up the size of the memory reserved for struct page array to
meet this 4Mb requirement, even though only 2Mb will actually be used.

This is preferred over allocating the struct page array from ZONE_NORMAL
because adding additional memory into ZONE_NORMAL is not supported on
this target.

Change-Id: I9544b58c202cecddbe80be67a24a1115b162e478
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
This commit is contained in:
Patrick Daly
2024-02-08 16:50:37 -08:00
parent 429eccc5e2
commit aeb4dbdd4c
2 changed files with 2 additions and 2 deletions

View File

@@ -12,7 +12,7 @@
interrupt-parent = <&vgic>; interrupt-parent = <&vgic>;
chosen { chosen {
bootargs = "nokaslr log_buf_len=256K console=hvc0 loglevel=8 swiotlb=noforce"; bootargs = "nokaslr log_buf_len=256K console=hvc0 loglevel=8 swiotlb=noforce memhp_default_state=online_movable memory_hotplug.memmap_on_memory=force";
}; };
cpus { cpus {

View File

@@ -15,7 +15,7 @@
interrupt-parent = <&vgic>; interrupt-parent = <&vgic>;
chosen { chosen {
bootargs = "nokaslr log_buf_len=256K console=hvc0 loglevel=8 swiotlb=noforce memhp_default_state=online_movable"; bootargs = "nokaslr log_buf_len=256K console=hvc0 loglevel=8 swiotlb=noforce memhp_default_state=online_movable memory_hotplug.memmap_on_memory=force";
}; };
cpus { cpus {