On Fri, Oct 27, 2017 at 03:25:40PM -0700, Mark Salyzyn wrote: > In variable timer reading loops, pick up just the values until all > are synchronized, then outside of loop pick up cntvct and perform > calculations to determine final offset, shifted and multiplied > output value.
So this is all about moving the computation out of the loop, which sounds sensible... > +#ifdef ARCH_CLOCK_FIXED_MASK > + static const u64 mask = ARCH_CLOCK_FIXED_MASK; > +#else > + u64 mask; > +#endif ... but this wasn't mentioned, and ARCH_CLOCK_FIXED_MASK doesn't seem to be defined as of this patch. It looks like an orthogonal change that should be introduced in a separate patch. > + > + typeof(((struct vdso_data *)vd)->xtime_clock_sec) sec; Why do we need to do this typeof() magic? Can't we settle on a consistent type across arches, or have a typedef in a header? Thanks, Mark.

