linux/arch/arm64
Ard Biesheuvel d432b8d57c arm64: mm: Reclaim unused vmemmap region for vmalloc use
The vmemmap array is statically sized based on the maximum supported
size of the virtual address space, but it is located inside the upper VA
region, which is statically sized based on the *minimum* supported size
of the VA space. This doesn't matter much when using 64k pages, which is
the only configuration that currently supports 52-bit virtual
addressing.

However, upcoming LPA2 support will change this picture somewhat, as in
that case, the vmemmap array will take up more than 25% of the upper VA
region when using 4k pages. Given that most of this space is never used
when running on a system that does not support 52-bit virtual
addressing, let's reclaim the unused vmemmap area in that case.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20231213084024.2367360-15-ardb@google.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
2024-02-09 10:56:12 +00:00
..
boot Samsung fixes for v6.8 2024-01-25 18:23:10 +01:00
configs arm64: defconfig reorder config lines 2024-01-11 09:34:42 +01:00
crypto
hyperv
include arm64: mm: Reclaim unused vmemmap region for vmalloc use 2024-02-09 10:56:12 +00:00
kernel arm64: vdso32: Remove unused vdso32-offsets.h 2024-01-30 11:59:17 +00:00
kvm Generic: 2024-01-17 13:03:37 -08:00
lib
mm arm64: ptdump: Discover start of vmemmap region at runtime 2024-02-09 10:56:11 +00:00
net
tools arm64: Rename ARM64_WORKAROUND_2966298 2024-01-12 12:51:33 +00:00
xen
Kbuild
Kconfig arm64 fixes for -rc1 2024-01-19 13:36:15 -08:00
Kconfig.debug
Kconfig.platforms
Makefile arm64: vdso32: Remove unused vdso32-offsets.h 2024-01-30 11:59:17 +00:00