Skip to content

Commit 4afb85f

Browse files
Dev Jainakpm00
authored andcommitted
mm: remove PMD alignment constraint in execmem_vmalloc()
When using vmalloc with VM_ALLOW_HUGE_VMAP flag, it will set the alignment to PMD_SIZE internally, if it deems huge mappings to be eligible. Therefore, setting the alignment in execmem_vmalloc is redundant. Apart from this, it also reduces the probability of allocation in case vmalloc fails to allocate hugepages - in the fallback case, vmalloc tries to use the original alignment and allocate basepages, which unfortunately will again be PMD_SIZE passed over from execmem_vmalloc, thus constraining the search for a free space in vmalloc region. Therefore, remove this constraint. Link: https://lkml.kernel.org/r/20250918093453.75676-1-dev.jain@arm.com Signed-off-by: Dev Jain <dev.jain@arm.com> Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Cc: Ryan Roberts <ryan.roberts@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent 51032f2 commit 4afb85f

File tree

1 file changed

+0
-3
lines changed

1 file changed

+0
-3
lines changed

mm/execmem.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ static void *execmem_vmalloc(struct execmem_range *range, size_t size,
3838
if (kasan)
3939
vm_flags |= VM_DEFER_KMEMLEAK;
4040

41-
if (vm_flags & VM_ALLOW_HUGE_VMAP)
42-
align = PMD_SIZE;
43-
4441
p = __vmalloc_node_range(size, align, start, end, gfp_flags,
4542
pgprot, vm_flags, NUMA_NO_NODE,
4643
__builtin_return_address(0));

0 commit comments

Comments
 (0)