linux-hyperv.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/2] clocksource/Hyper-V: Add Hyper-V specific sched clock
@ 2019-08-14 12:32 lantianyu1986
  2019-08-14 12:32 ` [PATCH V2 1/2] clocksource/Hyper-v: Allocate Hyper-V tsc page statically lantianyu1986
  2019-08-14 12:32 ` [PATCH V2 2/2] clocksource/Hyper-V: Add Hyper-V specific sched clock function lantianyu1986
  0 siblings, 2 replies; 4+ messages in thread
From: lantianyu1986 @ 2019-08-14 12:32 UTC (permalink / raw)
  To: luto, tglx, mingo, bp, hpa, x86, kys, haiyangz, sthemmin, sashal,
	daniel.lezcano, arnd, michael.h.kelley
  Cc: Tianyu Lan, linux-arch, linux-hyperv, linux-kernel

From: Tianyu Lan <Tianyu.Lan@microsoft.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


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-08-16 15:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-14 12:32 [PATCH V2 0/2] clocksource/Hyper-V: Add Hyper-V specific sched clock lantianyu1986
2019-08-14 12:32 ` [PATCH V2 1/2] clocksource/Hyper-v: Allocate Hyper-V tsc page statically lantianyu1986
2019-08-16 15:00   ` Daniel Lezcano
2019-08-14 12:32 ` [PATCH V2 2/2] clocksource/Hyper-V: Add Hyper-V specific sched clock function lantianyu1986

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).