On 9/18/26 08:59, Zenghui Yu wrote: > Hi David, > > On 9/16/26 11:30 PM, David Hildenbrand (Arm) wrote: >> On 9/8/26 15:44, Zenghui Yu wrote: >>> From: "Zenghui Yu (Huawei)" <[email protected]> >>> >>> Initialize page_size and hpage_size before calling init_uffd(), >>> hugetlb_setup_default(), etc. That won't fix anything, but it is safer and >>> saner to get these globals set up before doing other things. >>> >>> While at it, drop the page_size parameter of transact_test(), which is >>> actually unnecessary. >>> >>> Suggested-by: Andrew Morton <[email protected]> >>> Signed-off-by: Zenghui Yu (Huawei) <[email protected]> >>> --- >>> tools/testing/selftests/mm/pagemap_ioctl.c | 10 +++++----- >>> 1 file changed, 5 insertions(+), 5 deletions(-) >>> >>> diff --git a/tools/testing/selftests/mm/pagemap_ioctl.c >>> b/tools/testing/selftests/mm/pagemap_ioctl.c >>> index 1a87b7483316..d9a4fb782ecf 100644 >>> --- a/tools/testing/selftests/mm/pagemap_ioctl.c >>> +++ b/tools/testing/selftests/mm/pagemap_ioctl.c >>> @@ -1489,7 +1489,7 @@ static void *thread_proc(void *mem) >>> return NULL; >>> } >>> >>> -static void transact_test(int page_size) >>> +static void transact_test(void) >>> { >>> unsigned int i, count, extra_pages; >>> unsigned int c; >>> @@ -1653,6 +1653,9 @@ int main(int __attribute__((unused)) argc, char >>> *argv[]) >>> >>> ksft_print_header(); >>> >>> + page_size = getpagesize(); >>> + hpage_size = read_pmd_pagesize(); >>> + >>> if (init_uffd()) >>> ksft_exit_skip("Failed to initialize userfaultfd\n"); >>> >>> @@ -1661,9 +1664,6 @@ int main(int __attribute__((unused)) argc, char >>> *argv[]) >>> >>> ksft_set_plan(119); >>> >>> - page_size = getpagesize(); >>> - hpage_size = read_pmd_pagesize(); >>> - >> We have some other code rework that part, so I expect some conflicts for >> whoever >> goes in first. >> >> Why not >> >> initialize them right when defining the variables, marking them const? > > I'm afraid I don't quite understand your suggestion. page_size and > hpage_size are static global variables which cannot be initialized at their > definition. What am I missing?
I was assuming they are variables in the function, please ignore :) -- Cheers, David

