Re: [PATCH v2 3/3] selftests/mm: init page sizes early in pagemap_ioctl test
From: David Hildenbrand (Arm)
Date: Wed Sep 23 2026 - 10:09:23 EST
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)" <zenghui.yu@xxxxxxxxx>
>>>
>>> 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 <akpm@xxxxxxxxxxxxxxxxxxxx>
>>> Signed-off-by: Zenghui Yu (Huawei) <zenghui.yu@xxxxxxxxx>
>>> ---
>>> 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