mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
selftests/mm: test splitting file-backed THP to any lower order
Now split_huge_page*() supports shmem THP split to any lower order. Test it. The test now reads file content out after split to check if the split corrupts the file data. Link: https://lkml.kernel.org/r/20250122161928.1240637-3-ziy@nvidia.com Signed-off-by: Zi Yan <ziy@nvidia.com> Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com> Tested-by: Baolin Wang <baolin.wang@linux.alibaba.com> Cc: David Hildenbrand <david@redhat.com> Cc: Hugh Dickins <hughd@google.com> Cc: John Hubbard <jhubbard@nvidia.com> Cc: Kefeng Wang <wangkefeng.wang@huawei.com> Cc: Kirill A. Shuemov <kirill.shutemov@linux.intel.com> Cc: Miaohe Lin <linmiaohe@huawei.com> Cc: Matthew Wilcox <willy@infradead.org> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: Yang Shi <yang@os.amperecomputing.com> Cc: Yu Zhao <yuzhao@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
9b2f764933
commit
ad4c9bb541
|
|
@ -261,7 +261,7 @@ void split_pte_mapped_thp(void)
|
|||
close(kpageflags_fd);
|
||||
}
|
||||
|
||||
void split_file_backed_thp(void)
|
||||
void split_file_backed_thp(int order)
|
||||
{
|
||||
int status;
|
||||
int fd;
|
||||
|
|
@ -313,7 +313,7 @@ void split_file_backed_thp(void)
|
|||
}
|
||||
|
||||
/* split the file-backed THP */
|
||||
write_debugfs(PATH_FMT, testfile, pgoff_start, pgoff_end, 0);
|
||||
write_debugfs(PATH_FMT, testfile, pgoff_start, pgoff_end, order);
|
||||
|
||||
/* check file content after split */
|
||||
status = lseek(fd, 0, SEEK_SET);
|
||||
|
|
@ -351,7 +351,7 @@ void split_file_backed_thp(void)
|
|||
ksft_exit_fail_msg("cannot remove tmp dir: %s\n", strerror(errno));
|
||||
|
||||
ksft_print_msg("Please check dmesg for more information\n");
|
||||
ksft_test_result_pass("File-backed THP split test done\n");
|
||||
ksft_test_result_pass("File-backed THP split to order %d test done\n", order);
|
||||
return;
|
||||
|
||||
close_file:
|
||||
|
|
@ -517,7 +517,7 @@ int main(int argc, char **argv)
|
|||
if (argc > 1)
|
||||
optional_xfs_path = argv[1];
|
||||
|
||||
ksft_set_plan(1+8+2+9);
|
||||
ksft_set_plan(1+8+1+9+9);
|
||||
|
||||
pagesize = getpagesize();
|
||||
pageshift = ffs(pagesize) - 1;
|
||||
|
|
@ -534,7 +534,8 @@ int main(int argc, char **argv)
|
|||
split_pmd_thp_to_order(i);
|
||||
|
||||
split_pte_mapped_thp();
|
||||
split_file_backed_thp();
|
||||
for (i = 0; i < 9; i++)
|
||||
split_file_backed_thp(i);
|
||||
|
||||
created_tmp = prepare_thp_fs(optional_xfs_path, fs_loc_template,
|
||||
&fs_loc);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user