RE: [PATCH 2/2] clocksource/Hyper-V: Add Hyper-V specific sched clock function

From: Michael Kelley
Date: Mon Aug 12 2019 - 14:42:22 EST


From: Tianyu Lan <Tianyu.Lan@xxxxxxxxxxxxx> Sent: Monday, July 29, 2019 12:53 AM
>
> Hyper-V guests use the default native_sched_clock() in pv_ops.time.sched_clock
> on x86. But native_sched_clock() directly uses the raw TSC value, which
> can be discontinuous in a Hyper-V VM. Add the generic hv_setup_sched_clock()
> to set the sched clock function appropriately. On x86, this sets pv_ops.time.
> sched_clock to read the Hyper-V reference TSC value that is scaled and adjusted
> to be continuous.
>
> Also move the Hyper-V reference TSC initialization much earlier in the boot
> process so no discontinuity is observed when pv_ops.time.sched_clock
> calculates its offset.
>
> Signed-off-by: Tianyu Lan <Tianyu.Lan@xxxxxxxxxxxxx>
> ---
> arch/x86/hyperv/hv_init.c | 2 --
> arch/x86/kernel/cpu/mshyperv.c | 8 ++++++++
> drivers/clocksource/hyperv_timer.c | 22 ++++++++++++----------
> include/asm-generic/mshyperv.h | 1 +
> 4 files changed, 21 insertions(+), 12 deletions(-)
>

Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>