Re: [PATCH v2 05/13] selftests/mm: size tmpfs according to PMD page size in split_huge_page_test

David Hildenbrand (Arm)
2026-03-12T12:46:28Z

On 3/12/26 13:25, Sayali Patil wrote:
> The split_file_backed_thp() test mounts a tmpfs with a fixed size of
> "4m". This works on systems with smaller PMD page sizes,
> but fails on configurations where the PMD huge page size is
> larger (e.g. 16MB).
>
> On such systems, the fixed 4MB tmpfs is insufficient to allocate even
> a single PMD-sized THP, causing the test to fail.
>
> Fix this by sizing the tmpfs dynamically based on the runtime
> pmd_pagesize, allocating space for two PMD-sized pages.
>
> Before patch:
> running ./split_huge_page_test /tmp/xfs_dir_YTrI5E
> --------------------------------------------------
> TAP version 13
> 1..55
> ok 1 Split zero filled huge pages successful
> ok 2 Split huge pages to order 0 successful
> ok 3 Split huge pages to order 2 successful
> ok 4 Split huge pages to order 3 successful
> ok 5 Split huge pages to order 4 successful
> ok 6 Split huge pages to order 5 successful
> ok 7 Split huge pages to order 6 successful
> ok 8 Split huge pages to order 7 successful
> ok 9 Split PTE-mapped huge pages successful
> Please enable pr_debug in split_huge_pages_in_file() for more info.
> Failed to write data to testing file: Success (0)
> Bail out! Error occurred
> Planned tests != run tests (55 != 9)
> Totals: pass:9 fail:0 xfail:0 xpass:0 skip:0 error:0
> [FAIL]
>
> After patch:
> --------------------------------------------------
> running ./split_huge_page_test /tmp/xfs_dir_bMvj6o
> --------------------------------------------------
> TAP version 13
> 1..55
> ok 1 Split zero filled huge pages successful
> ok 2 Split huge pages to order 0 successful
> ok 3 Split huge pages to order 2 successful
> ok 4 Split huge pages to order 3 successful
> ok 5 Split huge pages to order 4 successful
> ok 6 Split huge pages to order 5 successful
> ok 7 Split huge pages to order 6 successful
> ok 8 Split huge pages to order 7 successful
> ok 9 Split PTE-mapped huge pages successful
> Please enable pr_debug in split_huge_pages_in_file() for more info.
> Please check dmesg for more information
> ok 10 File-backed THP split to order 0 test done
> Please enable pr_debug in split_huge_pages_in_file() for more info.
> Please check dmesg for more information
> ok 11 File-backed THP split to order 1 test done
> Please enable pr_debug in split_huge_pages_in_file() for more info.
> Please check dmesg for more information
> ok 12 File-backed THP split to order 2 test done
> ...
> ok 55 Split PMD-mapped pagecache folio to order 7 at
> in-folio offset 128 passed
> Totals: pass:55 fail:0 xfail:0 xpass:0 skip:0 error:0
> [PASS]
> ok 1 split_huge_page_test /tmp/xfs_dir_bMvj6o
>
> Fixes: fbe37501b252 ("mm: huge_memory: debugfs for file-backed THP split")
> Reviewed-by: Zi Yan <ziy@nvidia.com>
> Signed-off-by: Sayali Patil <sayalip@linux.ibm.com>
> ---

Reviewed-by: David Hildenbrand (Arm) <david@kernel.org>

--
Cheers,

David