mirror of
https://sourceware.org/git/glibc.git
synced 2025-11-17 02:43:26 +03:00
Linux handles virtual memory in Virtual Memory Areas (VMAs). The madvise(MADV_HUGEPAGE) call works on a VMA granularity, which sets the VM_HUGEPAGE flag on the VMA. This flag is invariant of the mprotect() syscall which is used in growing the secondary heaps. Therefore, we need to call madvise() only when we are sure that VM_HUGEPAGE was not previously set, which is only in the case when h->size < mp_.thp_pagesize. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
28 KiB
28 KiB