[PATCH v3 05/12] arm: vdso: do calculations outside reader loops

Mark Rutland mark.rutland at arm.com
Mon Oct 30 07:15:17 PDT 2017


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.



More information about the linux-arm-kernel mailing list