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

From: Jason A. Donenfeld
Date: Mon Sep 09 2024 - 11:44:18 EST


Hey tglx,

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.

Jason