[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190814123216.32245-1-Tianyu.Lan@microsoft.com>
Date: Wed, 14 Aug 2019 20:32:14 +0800
From: lantianyu1986@...il.com
To: luto@...nel.org, tglx@...utronix.de, mingo@...hat.com,
bp@...en8.de, hpa@...or.com, x86@...nel.org, kys@...rosoft.com,
haiyangz@...rosoft.com, sthemmin@...rosoft.com, sashal@...nel.org,
daniel.lezcano@...aro.org, arnd@...db.de,
michael.h.kelley@...rosoft.com
Cc: Tianyu Lan <Tianyu.Lan@...rosoft.com>, linux-arch@...r.kernel.org,
linux-hyperv@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH V2 0/2] clocksource/Hyper-V: Add Hyper-V specific sched clock
From: Tianyu Lan <Tianyu.Lan@...rosoft.com>
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. This earlier initialization requires that the Hyper-V TSC
page be allocated statically instead of with vmalloc(), so fixup the references
to the TSC page and the method of getting its physical address.
Change since v1:
- Update patch 1 commit log
- Remove and operation of tsc page's va with PAGE_MASK
in the read_hv_sched_clock_tsc().
Tianyu Lan (2):
clocksource/Hyper-v: Allocate Hyper-V tsc page statically
clocksource/Hyper-V: Add Hyper-V specific sched clock function
arch/x86/entry/vdso/vma.c | 2 +-
arch/x86/hyperv/hv_init.c | 2 --
arch/x86/kernel/cpu/mshyperv.c | 8 ++++++++
drivers/clocksource/hyperv_timer.c | 34 ++++++++++++++++------------------
include/asm-generic/mshyperv.h | 1 +
5 files changed, 26 insertions(+), 21 deletions(-)
--
2.14.5
Powered by blists - more mailing lists