On Sat, 30 Aug 2025 02:31:02 +0000 Wei Yang richard.weiyang@gmail.com wrote:
The check of is_backed_by_folio() is done on each page.
Directly move pointer to next page instead of increase one and check if it is page size aligned.
Why?
--- a/tools/testing/selftests/mm/split_huge_page_test.c +++ b/tools/testing/selftests/mm/split_huge_page_test.c @@ -423,9 +423,8 @@ static void split_pte_mapped_thp(void) /* smap does not show THPs after mremap, use kpageflags instead */ thp_size = 0;
- for (i = 0; i < pagesize * 4; i++)
if (i % pagesize == 0 &&
is_backed_by_folio(&pte_mapped[i], pmd_order, pagemap_fd, kpageflags_fd))
- for (i = 0; i < pagesize * 4; i += pagesize)
if (is_backed_by_folio(&pte_mapped[i], pmd_order, pagemap_fd, kpageflags_fd)) thp_size++;
Looks like we're doing more work. Is there something wrong with the existing code?