Re: [PATCH v6 17/19] mips: Add support for generic vDSO

From: Arnd Bergmann
Date: Mon Jun 03 2019 - 13:11:43 EST


On Mon, Jun 3, 2019 at 4:54 PM Mark Salyzyn <salyzyn@xxxxxxxxxxx> wrote:
> On 05/31/2019 01:34 AM, Arnd Bergmann wrote:
> > On Thu, May 30, 2019 at 4:16 PM Vincenzo Frascino
> > <vincenzo.frascino@xxxxxxx> wrote:
> >
> >> --- a/arch/mips/vdso/vdso.lds.S
> >> +++ b/arch/mips/vdso/vdso.lds.S
> >> @@ -99,6 +99,10 @@ VERSION
> >> global:
> >> __vdso_clock_gettime;
> >> __vdso_gettimeofday;
> >> + __vdso_clock_getres;
> >> +#if _MIPS_SIM != _MIPS_SIM_ABI64
> >> + __vdso_clock_gettime64;
> >> +#endif
> >> #endif
> >> local: *;
> >> };
> > Same comment as for the corresponding arm change: I'd leave the ABI
> > changes to a separate patch, and probably not add __vdso_clock_getres
> > at all.
>
> Removing this would break ABI (would it really, it just replaces the
> syscall ... so it is more of a user space expectation)? already present
> in arm64 before this series.

What I meant is that we should only keep clock_getres() in the vdso
for architectures that already have it, to keep the ABI unchanged,
but not add it to new ones.

At the moment, arm64, nds32, ppc, riscv and s390 have clock_getres,
while arm, mips, sparc, and x86 don't.

Also: on 32-bit architectures with 64-bit time_t, the series only adds
clock_gettime()., not clock_getres(), so user space should stop
assuming it's there.

Arnd