[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200324151935.15814-1-yuboxie@microsoft.com>
Date: Tue, 24 Mar 2020 08:19:35 -0700
From: Yubo Xie <ltykernel@...il.com>
To: kys@...rosoft.com, haiyangz@...rosoft.com, sthemmin@...rosoft.com,
liuwe@...rosoft.com, daniel.lezcano@...aro.org, tglx@...utronix.de,
michael.h.kelley@...rosoft.com
Cc: Yubo Xie <yuboxie@...rosoft.com>, linux-hyperv@...r.kernel.org,
linux-kernel@...r.kernel.org, vkuznets@...hat.com,
stable@...r.kernel.org, Tianyu Lan <Tianyu.Lan@...rosoft.com>
Subject: [PATCH] x86/Hyper-V: Fix hv sched clock function return wrong time unit
sched clock callback should return time with nano second as unit
but current hv callback returns time with 100ns. Fix it.
Cc: stable@...r.kernel.org
Signed-off-by: Yubo Xie <yuboxie@...rosoft.com>
Signed-off-by: Tianyu Lan <Tianyu.Lan@...rosoft.com>
Fixes: adb87ff4f96c ("clocksource/drivers/hyperv: Allocate Hyper-V TSC page statically")
---
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 = {
--
2.14.5
Powered by blists - more mailing lists