Re: [PATCH V2] x86/Hyper-V: Fix hv sched clock function return wrong time unit

From: Wei Liu
Date: Mon Mar 30 2020 - 06:05:10 EST


On Fri, Mar 27, 2020 at 09:53:39AM +0100, Vitaly Kuznetsov wrote:
> Tianyu Lan <ltykernel@xxxxxxxxx> writes:
>
> > From: Yubo Xie <yuboxie@xxxxxxxxxxxxx>
> >
> > sched clock callback should return time with nano second as unit
> > but current hv callback returns time with 100ns. Fix it.
> >
> > Cc: stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Yubo Xie <yuboxie@xxxxxxxxxxxxx>
> > Signed-off-by: Tianyu Lan <Tianyu.Lan@xxxxxxxxxxxxx>
> > Fixes: bd00cd52d5be ("clocksource/drivers/hyperv: Add Hyper-V specific sched clock function")
> > ---
> > Change since v1:
> > Update fix commit number in change log.
> > ---
> > drivers/clocksource/hyperv_timer.c | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/clocksource/hyperv_timer.c b/drivers/clocksource/hyperv_timer.c
> > index 9d808d595ca8..662ed978fa24 100644
> > --- a/drivers/clocksource/hyperv_timer.c
> > +++ b/drivers/clocksource/hyperv_timer.c
> > @@ -343,7 +343,8 @@ static u64 notrace read_hv_clock_tsc_cs(struct clocksource *arg)
> >
> > static u64 read_hv_sched_clock_tsc(void)
> > {
> > - return read_hv_clock_tsc() - hv_sched_clock_offset;
> > + return (read_hv_clock_tsc() - hv_sched_clock_offset)
> > + * (NSEC_PER_SEC / HV_CLOCK_HZ);
> > }
> >
> > static void suspend_hv_clock_tsc(struct clocksource *arg)
> > @@ -398,7 +399,8 @@ static u64 notrace read_hv_clock_msr_cs(struct clocksource *arg)
> >
> > static u64 read_hv_sched_clock_msr(void)
> > {
> > - return read_hv_clock_msr() - hv_sched_clock_offset;
> > + return (read_hv_clock_msr() - hv_sched_clock_offset)
> > + * (NSEC_PER_SEC / HV_CLOCK_HZ);
> > }
> >
> > static struct clocksource hyperv_cs_msr = {
>
> Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>

Queued for hyperv-fixes. Thank you both.

Wei.