Re: [PATCH v3 1/2] x86/vdso: Move mult and shift into struct vgtod_ts

From: Thomas Gleixner
Date: Thu Jun 27 2019 - 08:07:46 EST


Alexander,

On Thu, 27 Jun 2019, Sverdlin, Alexander (Nokia - DE/Ulm) wrote:

> On 24/06/2019 11:40, Thomas Gleixner wrote:
> >>> The alternative solution for this is what Vincenzo has in his unified VDSO
> >>> patch series:
> >>>
> >>> https://lkml.kernel.org/r/20190621095252.32307-1-vincenzo.frascino@xxxxxxx
> >>>
> >>> It leaves the data struct unmodified and has a separate array for the raw
> >>> clock. That does not have the side effects at all.
> >>>
> >>> I'm in the process of merging that series and I actually adapted your
> >>> scheme to the new unified infrastructure where it has exactly the same
> >>> effects as with your original patches against the x86 version.
> >> please let me know if I need to rework [2/2] based on some not-yet-published
> >> branch of yours.
> > I've pushed it out now to
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/vdso
> >
> > The generic VDSO library has the support for RAW already with that separate
> > array. Testing would be welcomed!
>
> Thanks for your and Vincenzo's efforts!
> I've applied the series onto 5.2.0-rc6 and did a quick test on a bare x86_64 and
> for me it looks good:

Did you use the git tree? If not, it would be interesting to have a test
against that as well because that's the final version.

> Number of clock_gettime() calls in 10 seconds:
>
> Before After Diff
> MONOTONIC 152404300 200825950 +32%
> MONOTONIC_RAW 38804788 198765053 +412%
> REALTIME 151672619 201371468 +33%

The increase for mono and realtime is impressive. Which CPU is that?

Thanks,

tglx