On Mon, Sep 21, 2026 at 11:05:15PM +0200, David Hildenbrand (Arm) wrote:
> On 9/21/26 20:48, Yeoreum Yun wrote:
> > Hi,
> >
> >> On 9/21/26 12:40, Yeoreum Yun wrote:
> >>> Since glibc commit 321e1fc73f (“malloc: Enable 2MB THP by default on
> >>> AArch64”),
> >>> glibc may call madvise(MADV_HUGEPAGE) for sufficiently large allocations
> >>> made by memalign().
> >>>
> >>> The underlying VMA may start at a different address from the aligned
> >>> address returned by memalign(). Furthermore, a subsequent
> >>> madvise(MADV_HUGEPAGE) call does not split the VMA because the flag is
> >>> already set.
> >>>
> >>> This causes split_huge_page_test to fail because the check_huge_xxx()
> >>> helpers incorrectly require the address returned by memalign() to
> >>> match the VMA start address reported in /proc/self/smaps.
> >>>
> >>> Instead of relying on /proc/self/smaps, use /proc/self/pagemap and
> >>> /proc/kpageflags to detect huge-page mappings and large folios:
> >>>
> >>> 1. If hpage_size == pmd_pagesize, check PAGE_IS_HUGE instead of
> >>> using check_large_folios(), since only the mapping type matters.
> >>> This identifies PMD-mapped huge pages.
> >>> 2. Otherwise, use check_large_folios() to detect large folios. This
> >>> covers mTHP cases.
> >>> 3. Check the folio flags according to the type of huge page.
> >>>
> >>> Since shmem pages are also file-backed, simply check whether the page
> >>> is file-backed.
> >>>
> >>> Suggested-by: David Hildenbrand (Arm) <[email protected]>
> >>> Suggested-by: Zi Yan <[email protected]>
> >>
> >> Do we need a Fixes: tag?
> >
> > Since this change is required for the chaning of behavior of glibc,
> > I don't think we don't need to add Fixes tag in here?
> >
> Our test made wrong assumptions on the underlying behavior of the user space
> allocator (no VMA merging would happen). So I'd argue that we should add a
> Fixes: for the test.
Okay. while I do
- add intermediate patch before this as you suggeeted.
- on the intermediate patch, add fix tag.
- based the patch, rebase this patch to add anon/file check for
other check_large_folios() type.
Thanks.
>
> --
> Cheers,
>
> David
--
Sincerely,
Yeoreum Yun