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?

Thanks,
Zenghui

Reply via email to