Re: [PATCH tip] x86: vdso: Compute timens page offset statically

From: Thomas Gleixner
Date: Tue Sep 10 2024 - 08:08:20 EST


On Mon, Sep 09 2024 at 17:44, Jason A. Donenfeld wrote:
> On Fri, Sep 06, 2024 at 09:06:55PM +0200, Jason A. Donenfeld wrote:
>> The expression `((void *)&__timens_vdso_data - (void *)&__vdso_data)`
>> seems harmless, but it actually results in quite a bit of code and two
>> jumps, in a place that's supposed to be somewhat lean on code. The value
>> of that calculation is always 3*PAGE_SIZE, as it turns out. Changing it
>> to that results in a more modest cmov instruction being emitted. It also
>> makes it a bit more clear what's happening.
>>
>> To accomplish this, define offset macros in vvar.h, which can be shared
>> by C code and by the linker script that decides where these pages will
>> actually go.
>
> I noticed we've only got a week left til the merge window opens, so I
> thought I should poke you about this, if you want to take this through
> tip. I can also take it through my random.git tree with your ack, if
> that's easier for you. (Assuming, of course, that this patch is actually
> correct.) Let me know.

It's not the end of the world if this does not go in now. It's in my
back log and that VDSO stuff needs more care than this particular thing
as the recent discussion about vdso random on other architectures show.

Thanks,

tglx