From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793343110; b=X8ZQHcD+xvn1HkExfpa2bMYhvgwbT9VOajyKnf7FMkz20Ssm5YXeqpcchjWIin+2jGFL 0NKjEl9IZtjq2gn9s2SuOAuSNsfHkIGh3hlfqt6ZSDRPkpL91UgvYNJKuqRPXIP+oTdjk AYbmGK6493uiPUfzhcHS/+zHG20n8UnT7phd9sY9g2OtwLvckeSI8LlIMPvpJpxQVFCLD W+2RGg2ItcqNPJbgEBwollh7+iwzBHFmGiMsmKJeN95qllrixmNJyg6AbP6LJtOX0hhV7 3573acTvo2caHQ/utq08wSGpWyFYfTYNUhXH0Kk1zgFoAkxmsyvWFy2J7P6/KnpnIYg== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793343110; h=Received:DKIM-Signature:Date:To:From:Subject:Message-Id; bh=iiVeMMnc97meUUSjyGj/pqy8juVFZAGC+v5ZDHOr4Fk=; b=JrNNvi1377+2CvyjAnHUfIJjktBn5UIEperVirqyTzIYpkFOpr0VbFw6fe2Q4ZYauF1e hU3wK6lBwwAFhd+bLeqemId7JEGPS6tZ5z5FEBW4ZzCH/WofMriAjAb7VwKh6G6Al1nmo Ekpkgon2Trh1KnEgovBkNK3V3vf7/Vj5ZFZgLoxkteoEfo4/uQ5XtWGd0p1zY4QE2SFx6 /FjQU8XzGScV1PtQ+kII3EGHRkoNcLIMBxXxnoYRNHCIIjDn0A7g/UkVk0u5wzfc31IrB 80oqTBz4ZW3/dROA9DAYHwOpruBJkKp2NvtNso6xsn9uafOgmUFv3CAI5VDk/GTfaWA== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=linux-foundation.org header.i=@linux-foundation.org header.a=rsa-sha256 header.s=korg header.b=Xaha+RGU; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 99DDA606A31E for ; Fri, 30 Oct 2026 06:51:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key, unprotected) header.d=linux-foundation.org header.i=@linux-foundation.org header.a=rsa-sha256 header.s=korg header.b=Xaha+RGU Received: by smtp.kernel.org (Postfix) with ESMTPSA id 30BDE1F000C1; Fri, 30 Oct 2026 06:51:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=korg; t=1793343109; bh=iiVeMMnc97meUUSjyGj/pqy8juVFZAGC+v5ZDHOr4Fk=; h=Date:To:From:Subject; b=Xaha+RGUfvFGBCeoEIcgXB/xQjVugm4+rckVxdAEUl1N5qLtEYTWTXORb7PUa3klQ c4xPr2hPuYokJ3HPt97cBs/AknFmuKlseh5jaSPRW84jkJMdjlePjoUrCI72/43qnc 4JF+3Xf52zLfR6DurzHoYr7qePcqC4jcAp5q0IDw= Date: Thu, 29 Oct 2026 23:51:48 -0700 To: mm-commits@vger.kernel.org,ziy@nvidia.com,vbabka@kernel.org, usama.arif@linux.dev,surenb@google.com,shuah@kernel.org, sarthak.sharma@arm.com,ryan.roberts@arm.com,rppt@kernel.org, peterx@redhat.com,nico.pache@linux.dev,mhocko@suse.com,ljs@kernel.org, liam@infradead.org,leon@kernel.org,lance.yang@linux.dev,kas@kernel.org, jgg@ziepe.ca,dev.jain@arm.com,david@kernel.org,baolin.wang@linux.alibaba.com, baohua@kernel.org,yeoreum.yun@arm.com,akpm@linux-foundation.org From: Andrew Morton Subject: + kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize.patch added to mm-new branch Message-Id: <20261030065149.30BDE1F000C1@smtp.kernel.org> X-Mailing-List: mm-commits@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list The patch titled Subject: kselftest: mm: rename read_pmd_pagesize() to pmd_psize() has been added to the -mm mm-new branch. Its filename is kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize.patch This patch will later appear in the mm-new branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Note, mm-new is a provisional staging ground for work-in-progress patches, and acceptance into mm-new is a notification for others take notice and to finish up reviews. Please do not hesitate to respond to review feedback and post updated versions to replace or incrementally fixup patches in mm-new. The mm-new branch of mm.git is not included in linux-next If a few days of testing in mm-new is successful, the patch will me moved into mm.git's mm-unstable branch, which is included in linux-next Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via various branches at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there most days ------------------------------------------------------ From: Yeoreum Yun Subject: kselftest: mm: rename read_pmd_pagesize() to pmd_psize() Date: Tue, 13 Oct 2026 11:37:03 +0100 Patch series "kselftest: mm: remove HPAGE_SIZE and HPAGE_SHIFT macro", v7. HPAGE_SIZE and HPAGE_SHIFT macro is written based on the 4KB PAGE_SIZE. When this macro is used in some test, test result would be strange in the system where PAGE_SIZE is more then 4KB. Here is the example with transhuge-stress test with 16KB PAGE_SIZE: transhuge-stress: allocate 61073 transhuge pages, using 122146 MiB virtual memory and 1908 MiB of ram 3.292 s/loop, 0.054 ms/page, 37106.002 MiB/s 2566 succeed, 58507 failed, 2566 different pages 0.591 s/loop, 0.010 ms/page, 206850.792 MiB/s 0 succeed, 61073 failed, 0 different pages 0.527 s/loop, 0.009 ms/page, 231895.107 MiB/s 0 succeed, 61073 failed, 0 different pages 3.292 s/loop, 0.054 ms/page, 37106.002 MiB/s 2566 succeed, 58507 failed, 2566 different pages 0.591 s/loop, 0.010 ms/page, 206850.792 MiB/s 0 succeed, 61073 failed, 0 different pages 0.527 s/loop, 0.009 ms/page, 231895.107 MiB/s 0 succeed, 61073 failed, 0 different pages 0.527 s/loop, 0.009 ms/page, 231839.704 MiB/s 0 succeed, 61073 failed, 0 different pages 0.528 s/loop, 0.009 ms/page, 231544.782 MiB/s 0 succeed, 61073 failed, 0 different pages 0.528 s/loop, 0.009 ms/page, 231462.074 MiB/s 0 succeed, 61073 failed, 0 different pages 0.527 s/loop, 0.009 ms/page, 231770.300 MiB/s 0 succeed, 61073 failed, 0 different pages ... ok 1 Completed To address this, remove the HPAGE_SIZE and HPAGE_SHIFT macro, introduce pmd_pshift() and rename read_pmd_pagesize() to pmd_psize() to keep consistency with psize() and pshift(). Also, run the KSM_MERGE_TIME_HUGE_PAGES test with a size of 512 MiB, which is the least common multiple of the PMD sizes for 4 KiB, 16 KiB, and 64 KiB base pages. Since allocate_transhuge() allocates mappings in PMD-sized units, the test may fail with the previous size of 100 MiB, which is not a multiple of the PMD size when the base page size is 16 KiB or 64 KiB. After this patch, output of transhuge-stress: transhuge-stress: allocate 3817 transhuge pages, using 122146 MiB virtual memory and 119 MiB of ram 2.558 s/loop, 0.670 ms/page, 47755.759 MiB/s 2585 succeed, 1232 failed, 2585 different pages 2.640 s/loop, 0.692 ms/page, 46268.432 MiB/s 2585 succeed, 1232 failed, 2585 different pages 2.635 s/loop, 0.690 ms/page, 46360.298 MiB/s 2585 succeed, 1232 failed, 2585 different pages 2.782 s/loop, 0.729 ms/page, 43899.795 MiB/s 2616 succeed, 1201 failed, 2616 different pages 2.692 s/loop, 0.705 ms/page, 45380.876 MiB/s 2627 succeed, 1190 failed, 2627 different pages 2.612 s/loop, 0.684 ms/page, 46765.812 MiB/s 2628 succeed, 1189 failed, 2628 different pages 2.683 s/loop, 0.703 ms/page, 45520.990 MiB/s 2630 succeed, 1187 failed, 2630 different pages 2.727 s/loop, 0.714 ms/page, 44789.321 MiB/s 2631 succeed, 1186 failed, 2631 different pages ... ok 1 Completed Additionally, introduce size_to_shift() for future users that need to obtain shift of a huge-page which is other than pmd_psize(). Patch History ============= This patch (of 3): For consistency with psize(), rename read_pmd_pagesize() to pmd_psize(). There is no functional change. Link: https://lore.kernel.org/20261013-fix_hpage_macro-v7-0-3d77129e0557@arm.com Link: https://lore.kernel.org/20261013-fix_hpage_macro-v7-1-3d77129e0557@arm.com Signed-off-by: Yeoreum Yun Signed-off-by: Andrew Morton Suggested-by: David Hildenbrand (Arm) Tested-by: Sarthak Sharma Reviewed-by: Zi Yan Reviewed-by: Lorenzo Stoakes (ARM) Reviewed-by: Sarthak Sharma Acked-by: David Hildenbrand (Arm) Acked-by: Mike Rapoport (Microsoft) Cc: Liam R. Howlett Cc: Vlastimil Babka Cc: Suren Baghdasaryan Cc: Michal Hocko Cc: Baolin Wang Cc: Nico Pache Cc: Ryan Roberts Cc: Dev Jain Cc: Barry Song Cc: Lance Yang Cc: Usama Arif Cc: Kiryl Shutsemau Cc: Peter Xu Cc: Shuah Khan Cc: Jason Gunthorpe Cc: Leon Romanovsky --- tools/testing/selftests/mm/cow.c | 2 - tools/testing/selftests/mm/folio_split_race_test.c | 2 - tools/testing/selftests/mm/hmm-tests.c | 22 +++++------ tools/testing/selftests/mm/khugepaged.c | 2 - tools/testing/selftests/mm/khugepaged_race.c | 2 - tools/testing/selftests/mm/khugepaged_sync_check.c | 2 - tools/testing/selftests/mm/migration.c | 4 +- tools/testing/selftests/mm/mkdirty.c | 2 - tools/testing/selftests/mm/pagemap_ioctl.c | 2 - tools/testing/selftests/mm/prctl_thp_disable.c | 4 +- tools/testing/selftests/mm/process_madv.c | 2 - tools/testing/selftests/mm/soft-dirty.c | 2 - tools/testing/selftests/mm/split_huge_page_test.c | 2 - tools/testing/selftests/mm/uffd-common.c | 6 +-- tools/testing/selftests/mm/uffd-unit-tests.c | 8 ++-- tools/testing/selftests/mm/uffd-wp-mremap.c | 2 - tools/testing/selftests/mm/vm_util.c | 4 +- tools/testing/selftests/mm/vm_util.h | 2 - 18 files changed, 36 insertions(+), 36 deletions(-) --- a/tools/testing/selftests/mm/cow.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/cow.c @@ -1888,7 +1888,7 @@ int main(int argc, char **argv) thp_save_settings(); pagesize = getpagesize(); - pmdsize = read_pmd_pagesize(); + pmdsize = pmd_psize(); if (pmdsize) { /* Only if THP is supported. */ thp_read_settings(&default_settings); --- a/tools/testing/selftests/mm/folio_split_race_test.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/folio_split_race_test.c @@ -234,7 +234,7 @@ int main(void) ksft_print_header(); page_size = getpagesize(); - pmd_pagesize = read_pmd_pagesize(); + pmd_pagesize = pmd_psize(); if (!thp_available() || !pmd_pagesize) ksft_exit_skip("Transparent Hugepages not available\n"); --- a/tools/testing/selftests/mm/hmm-tests.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/hmm-tests.c @@ -568,7 +568,7 @@ TEST_F(hmm, anon_write_child) for (migrate = 0; migrate < 2; ++migrate) { for (use_thp = 0; use_thp < 2; ++use_thp) { - npages = ALIGN(use_thp ? read_pmd_pagesize() : HMM_BUFFER_SIZE, + npages = ALIGN(use_thp ? pmd_psize() : HMM_BUFFER_SIZE, self->page_size) >> self->page_shift; ASSERT_NE(npages, 0); size = npages << self->page_shift; @@ -729,7 +729,7 @@ TEST_F(hmm, anon_write_huge) int *ptr; int ret; - size = 2 * read_pmd_pagesize(); + size = 2 * pmd_psize(); buffer = hmm_buffer_alloc(size, size, PROT_READ | PROT_WRITE, @@ -1940,7 +1940,7 @@ TEST_F(hmm, migrate_anon_huge_empty) int *ptr; int ret; - size = read_pmd_pagesize(); + size = pmd_psize(); buffer = hmm_buffer_alloc(2 * size, size, PROT_READ, @@ -1983,7 +1983,7 @@ TEST_F(hmm, migrate_anon_huge_zero) int ret; int val; - size = read_pmd_pagesize(); + size = pmd_psize(); buffer = hmm_buffer_alloc(2 * size, size, PROT_READ, @@ -2037,7 +2037,7 @@ TEST_F(hmm, migrate_anon_huge_free) int *ptr; int ret; - size = read_pmd_pagesize(); + size = pmd_psize(); buffer = hmm_buffer_alloc(2 * size, size, PROT_READ | PROT_WRITE, @@ -2090,7 +2090,7 @@ TEST_F(hmm, migrate_anon_huge_fault) int *ptr; int ret; - size = read_pmd_pagesize(); + size = pmd_psize(); buffer = hmm_buffer_alloc(2 * size, size, PROT_READ | PROT_WRITE, @@ -2160,7 +2160,7 @@ TEST_F(hmm, migrate_partial_unmap_fault) { struct hmm_buffer *buffer; unsigned long npages; - unsigned long size = read_pmd_pagesize(); + unsigned long size = pmd_psize(); unsigned long unmap_size; unsigned long offsets[3]; unsigned long i; @@ -2225,7 +2225,7 @@ TEST_F(hmm, migrate_remap_fault) { struct hmm_buffer *buffer; unsigned long npages; - unsigned long size = read_pmd_pagesize(); + unsigned long size = pmd_psize(); unsigned long offsets[3]; unsigned long i; void *old_ptr, *new_ptr = NULL; @@ -2322,7 +2322,7 @@ TEST_F(hmm, migrate_anon_huge_err) int *ptr; int ret; - size = read_pmd_pagesize(); + size = pmd_psize(); buffer = hmm_buffer_alloc(2 * size, 2 * size, PROT_READ | PROT_WRITE, @@ -2412,7 +2412,7 @@ TEST_F(hmm, migrate_anon_huge_zero_err) int *ptr; int ret; - size = read_pmd_pagesize(); + size = pmd_psize(); buffer = hmm_buffer_alloc(2 * size, 2 * size, PROT_READ, @@ -2608,7 +2608,7 @@ cleanup: TEST_F_TIMEOUT(hmm, benchmark_thp_migration, 120) { struct benchmark_results thp_results, regular_results; - size_t thp_size = read_pmd_pagesize(); + size_t thp_size = pmd_psize(); int iterations = 5; if (!thp_size) --- a/tools/testing/selftests/mm/khugepaged.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/khugepaged.c @@ -1686,7 +1686,7 @@ int main(int argc, char **argv) ksft_exit_skip("Transparent Hugepages not available\n"); page_size = getpagesize(); - hpage_pmd_size = read_pmd_pagesize(); + hpage_pmd_size = pmd_psize(); if (!hpage_pmd_size) ksft_exit_fail_msg("Reading PMD pagesize failed\n"); hpage_pmd_nr = hpage_pmd_size / page_size; --- a/tools/testing/selftests/mm/khugepaged_race.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/khugepaged_race.c @@ -372,7 +372,7 @@ int main(int argc, char **argv) ksft_exit_skip("Transparent Hugepages not available\n"); page_size = getpagesize(); - hpage_pmd_size = read_pmd_pagesize(); + hpage_pmd_size = pmd_psize(); if (!hpage_pmd_size) ksft_exit_fail_msg("Reading PMD pagesize failed\n"); --- a/tools/testing/selftests/mm/khugepaged_sync_check.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/khugepaged_sync_check.c @@ -140,7 +140,7 @@ int main(void) ksft_exit_skip("Order %d is not a supported anon THP order\n", TARGET_ORDER); - hpage_pmd_size = read_pmd_pagesize(); + hpage_pmd_size = pmd_psize(); if (!hpage_pmd_size) ksft_exit_fail_msg("Reading PMD pagesize failed\n"); pagemap_fd = open("/proc/self/pagemap", O_RDONLY); --- a/tools/testing/selftests/mm/migration.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/migration.c @@ -228,7 +228,7 @@ TEST_F_TIMEOUT(migration, private_anon_t if (!thp_is_enabled()) SKIP(return, "Transparent Hugepages not available"); - pmdsize = read_pmd_pagesize(); + pmdsize = pmd_psize(); if (!pmdsize) SKIP(return, "Reading PMD pagesize failed"); @@ -262,7 +262,7 @@ TEST_F_TIMEOUT(migration, shared_anon_th if (!thp_is_enabled()) SKIP(return, "Transparent Hugepages not available"); - pmdsize = read_pmd_pagesize(); + pmdsize = pmd_psize(); if (!pmdsize) SKIP(return, "Reading PMD pagesize failed"); --- a/tools/testing/selftests/mm/mkdirty.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/mkdirty.c @@ -330,7 +330,7 @@ int main(void) int err, tests = 2; pagesize = getpagesize(); - thpsize = read_pmd_pagesize(); + thpsize = pmd_psize(); if (thpsize) { ksft_print_msg("[INFO] detected THP size: %zu KiB\n", thpsize / 1024); --- a/tools/testing/selftests/mm/pagemap_ioctl.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/pagemap_ioctl.c @@ -1653,7 +1653,7 @@ int main(int __attribute__((unused)) arg ksft_print_header(); page_size = getpagesize(); - hpage_size = read_pmd_pagesize(); + hpage_size = pmd_psize(); if (init_uffd()) ksft_exit_skip("Failed to initialize userfaultfd\n"); --- a/tools/testing/selftests/mm/prctl_thp_disable.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/prctl_thp_disable.c @@ -132,7 +132,7 @@ FIXTURE_SETUP(prctl_thp_disable_complete if (!thp_available()) SKIP(return, "Transparent Hugepages not available\n"); - self->pmdsize = read_pmd_pagesize(); + self->pmdsize = pmd_psize(); if (!self->pmdsize) SKIP(return, "Unable to read PMD size\n"); @@ -240,7 +240,7 @@ FIXTURE_SETUP(prctl_thp_disable_except_m if (!thp_available()) SKIP(return, "Transparent Hugepages not available\n"); - self->pmdsize = read_pmd_pagesize(); + self->pmdsize = pmd_psize(); if (!self->pmdsize) SKIP(return, "Unable to read PMD size\n"); --- a/tools/testing/selftests/mm/process_madv.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/process_madv.c @@ -141,7 +141,7 @@ TEST_F(process_madvise, remote_collapse) void *map_addr; } info; - huge_page_size = read_pmd_pagesize(); + huge_page_size = pmd_psize(); if (huge_page_size <= 0) SKIP(return, "Could not determine a valid huge page size.\n"); --- a/tools/testing/selftests/mm/soft-dirty.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/soft-dirty.c @@ -87,7 +87,7 @@ static void test_hugepage(int pagemap_fd return; } - size_t hpage_len = read_pmd_pagesize(); + size_t hpage_len = pmd_psize(); if (!hpage_len) ksft_exit_fail_msg("Reading PMD pagesize failed"); --- a/tools/testing/selftests/mm/split_huge_page_test.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/split_huge_page_test.c @@ -615,7 +615,7 @@ int main(int argc, char **argv) pagesize = getpagesize(); pageshift = ffs(pagesize) - 1; - pmd_pagesize = read_pmd_pagesize(); + pmd_pagesize = pmd_psize(); if (!pmd_pagesize) ksft_exit_fail_msg("Reading PMD pagesize failed\n"); --- a/tools/testing/selftests/mm/uffd-common.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/uffd-common.c @@ -137,7 +137,7 @@ static void shmem_release_pages(uffd_glo static int shmem_allocate_area(uffd_global_test_opts_t *gopts, void **alloc_area, bool is_src) { void *area_alias = NULL; - size_t bytes = gopts->nr_pages * gopts->page_size, hpage_size = read_pmd_pagesize(); + size_t bytes = gopts->nr_pages * gopts->page_size, hpage_size = pmd_psize(); unsigned long offset = is_src ? 0 : bytes; char *p = NULL, *p_alias = NULL; int mem_fd = uffd_mem_fd_create(bytes * 2, false); @@ -194,10 +194,10 @@ static void shmem_alias_mapping(uffd_glo static void shmem_check_pmd_mapping(uffd_global_test_opts_t *gopts, void *p, int expect_nr_hpages) { - size_t len = expect_nr_hpages * read_pmd_pagesize(); + size_t len = expect_nr_hpages * pmd_psize(); if (!check_huge_file(gopts->area_dst_alias, len, expect_nr_hpages, - read_pmd_pagesize())) + pmd_psize())) err("Did not find expected %d number of hugepages", expect_nr_hpages); } --- a/tools/testing/selftests/mm/uffd-unit-tests.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/uffd-unit-tests.c @@ -588,7 +588,7 @@ static void uffd_minor_test_common(uffd_ uffd_test_ops->check_pmd_mapping(gopts, gopts->area_dst, gopts->nr_pages * gopts->page_size / - read_pmd_pagesize()); + pmd_psize()); /* * This won't cause uffd-fault - it purely just makes sure there * was no corruption. @@ -1914,7 +1914,7 @@ static void uffd_move_handle_fault(uffd_ static void uffd_move_pmd_handle_fault(uffd_global_test_opts_t *gopts, struct uffd_msg *msg, struct uffd_args *args) { - uffd_move_handle_fault_common(gopts, msg, args, read_pmd_pagesize()); + uffd_move_handle_fault_common(gopts, msg, args, pmd_psize()); } static void @@ -2030,7 +2030,7 @@ static void uffd_move_pmd_test(uffd_glob { if (madvise(gopts->area_dst, gopts->nr_pages * gopts->page_size, MADV_HUGEPAGE)) err("madvise(MADV_HUGEPAGE) failure"); - uffd_move_test_common(gopts, targs, read_pmd_pagesize(), + uffd_move_test_common(gopts, targs, pmd_psize(), uffd_move_pmd_handle_fault); } @@ -2038,7 +2038,7 @@ static void uffd_move_pmd_split_test(uff { if (madvise(gopts->area_dst, gopts->nr_pages * gopts->page_size, MADV_NOHUGEPAGE)) err("madvise(MADV_NOHUGEPAGE) failure"); - uffd_move_test_common(gopts, targs, read_pmd_pagesize(), + uffd_move_test_common(gopts, targs, pmd_psize(), uffd_move_pmd_handle_fault); } --- a/tools/testing/selftests/mm/uffd-wp-mremap.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/uffd-wp-mremap.c @@ -38,7 +38,7 @@ static int detect_thp_sizes(size_t sizes int i; /* thp not supported at all. */ - if (!read_pmd_pagesize()) + if (!pmd_psize()) return 0; orders = thp_supported_orders(); --- a/tools/testing/selftests/mm/vm_util.c~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/vm_util.c @@ -155,7 +155,7 @@ bool check_for_pattern(FILE *fp, const c return false; } -uint64_t read_pmd_pagesize(void) +uint64_t pmd_psize(void) { int fd; char buf[20]; @@ -437,7 +437,7 @@ static bool __check_huge(void *addr, siz char *start = addr; char *end = start + len; - pmd_pagesize = read_pmd_pagesize(); + pmd_pagesize = pmd_psize(); if (!pmd_pagesize) ksft_exit_fail_msg("reading PMD pagesize failed\n"); --- a/tools/testing/selftests/mm/vm_util.h~kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize +++ a/tools/testing/selftests/mm/vm_util.h @@ -92,7 +92,7 @@ bool pagemap_is_populated(int fd, char * unsigned long pagemap_get_pfn(int fd, char *start); void clear_softdirty(void); bool check_for_pattern(FILE *fp, const char *pattern, char *buf, size_t len); -uint64_t read_pmd_pagesize(void); +uint64_t pmd_psize(void); unsigned long rss_anon(void); bool check_huge_anon(void *addr, size_t len, int nr_hpages, uint64_t hpage_size); bool check_huge_file(void *addr, size_t len, int nr_hpages, uint64_t hpage_size); _ Patches currently in -mm which might be from yeoreum.yun@arm.com are kselftest-mm-rename-read_pmd_pagesize-to-pmd_psize.patch kselftest-mm-remove-hpage_size-and-hpage_shift-macro.patch kselftest-mm-introduce-size_to_shift-helper.patch