[PATCH v4 24/35] vdso/datastore: Allocate data pages dynamically
Aithal, Srikanth
sraithal at amd.com
Thu Nov 6 23:43:11 AEDT 2025
On 11/5/2025 9:04 PM, Heiko Carstens wrote:
> On Tue, Oct 14, 2025 at 08:49:10AM +0200, Thomas Weißschuh wrote:
>> Allocating the datapages as part of the kernel image does not work on
>> SPARC. It is also problematic with regards to dcache aliasing as there is
>> no guarantee that the virtual addresses used by the kernel are compatible
>> with those used by userspace.
>>
>> Allocate the data pages through the page allocator instead.
>> Unused pages in the vDSO VMA are still allocated to keep the virtual
>> addresses aligned.
>>
>> These pages are used by both the timekeeping, random pool and architecture
>> initialization code. Introduce a new early initialization step, to make
>> sure they are available when needed.
>>
>> Signed-off-by: Thomas Weißschuh <thomas.weissschuh at linutronix.de>
>> Tested-by: Andreas Larsson <andreas at gaisler.com>
>> Reviewed-by: Andreas Larsson <andreas at gaisler.com>
>> ---
>> include/linux/vdso_datastore.h | 6 ++++++
>> init/main.c | 2 ++
>> lib/vdso/datastore.c | 44 ++++++++++++++++++++++--------------------
>> 3 files changed, 31 insertions(+), 21 deletions(-)
>
> ...
>
>> +void __init vdso_setup_data_pages(void)
>> +{
>> + unsigned int order = get_order(VDSO_NR_PAGES * PAGE_SIZE);
>> + struct folio *folio = folio_alloc(GFP_KERNEL, order);
>
> I'm seeing random hangs on s390 too with our CI, but unfortunately I cannot
> reproduce it manually. But looking at one of the dumps it looks to me like the
> vdso time page contains (more or less) random junk at the end. Or in other
> words, shouldn't this be:
>
> struct folio *folio = folio_alloc(GFP_KERNEL | __GFP_ZERO, order);
>
> ? At least that is a difference to before as far as I can tell.
I was also hitting random hangs with an x86 KVM guest boot on an AMD64
platform. The bisection landed on this commit as the culprit.
I see that v5 has been posted. I am in the process of testing that
version and will reply to the v5 thread with the results.
Thank you
Srikanth Aithal <sraithal at amd.com>
More information about the Linuxppc-dev
mailing list