Re: [PATCH] selftests: mincore: use default huge page size for hugetlb test
From: Andrew Morton
Date: Sun Jul 05 2026 - 21:18:52 EST
On Fri, 26 Jun 2026 20:59:02 +0800 "Yijia Wang" <wangyijia.yeah@xxxxxxxxxxxxx> wrote:
> The hugetlb mincore test passes the base page size as the MAP_HUGETLB
> mapping length. This works on systems where the default huge page size
> is the same as the base page size, but mmap() can fail with EINVAL before
> mincore() is exercised when the default huge page size is larger, such as
> on arm64 systems with 64K base pages and 2M huge pages.
>
> Use the default huge page size from /proc/meminfo for the hugetlb mapping
> and unmap length. Keep the mincore() check scoped to one base page since
> the test only needs to verify the residency state before and after the
> mapping is touched. This also avoids changing the mincore() length to the
> whole huge page, which would require a larger residency vector because
> mincore() reports one byte per base page.
Thanks.
AI review flagged a couple of possible issues - can you please take a
look?
https://sashiko.dev/#/patchset/20260626-b4-mincore-preview-v1-1-5f07aa02ab32@xxxxxxxxxxxxx
> --- a/tools/testing/selftests/mincore/mincore_selftest.c
> +++ b/tools/testing/selftests/mincore/mincore_selftest.c
> @@ -22,6 +22,27 @@
> #define MB (1UL << 20)
> #define FILE_SIZE (4 * MB)
>
> +static unsigned long default_huge_page_size(void)
This would be our fifth(?) implementation of default_huge_page_size()
in tools/testing/selftests. There's a project for someone!