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

Reply via email to