Re: [patch 00/11] x86/vdso: Cleanups, simmplifications and CLOCK_TAI support
From: Thomas Gleixner
Date: Fri Sep 14 2018 - 09:19:31 EST
On Fri, 14 Sep 2018, Florian Weimer wrote:
> On 09/14/2018 03:05 PM, Thomas Gleixner wrote:
> > On Fri, 14 Sep 2018, Florian Weimer wrote:
> >
> > > On 09/14/2018 02:50 PM, Thomas Gleixner wrote:
> > > > Matt attempted to add CLOCK_TAI support to the VDSO clock_gettime()
> > > > implementation, which extended the clockid switch case and added yet
> > > > another slightly different copy of the same code.
> > > >
> > > > Especially the extended switch case is problematic as the compiler tends
> > > > to
> > > > generate a jump table which then requires to use retpolines.
> > >
> > > Does vDSO code really have to use retpolines? It's in userspace, after
> > > all.
> >
> > Unless you have IBRS/STIPB enabled, you need user space ratpoutine as well.
>
> I don't think this is a consensus position, and it obviously depends on the
> (sub)architecture.
It does, but we are not building kernels for specific micro architectures
nor do distros AFAIK.
But that aside, even with jump tables the generated code (ratpoutine
disabled) is not any better than with the current approach. It's even worse
and needs the same optimizations at the end and then the main difference is
that you have 3 copies of one function and 2 of the other. Not a win at
all.
Thanks,
tglx