Skip to content

pvclock vsyscall support + KVM hypervisor support (v3)

Marcelo Tosatti kvm 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest16 patches 30 repliesIn review

v3 from the cover letter

- fix PVCLOCK_VSYSCALL_NR_PAGES definition (glommer)
- fold flags race fix into pvclock refactoring (avi)
- remove CONFIG_PARAVIRT_CLOCK_VSYSCALL (glommer)
- add reference to tsc.c from vclock_gettime.c about cycle_last rationale (glommer)
- fix whitespace damage (glommer)

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/16KVM: x86: retain pvclock guest stopped bit in guest memoryarch/x86/kvm/x86.c+13 -73 replies
2/16x86: pvclock: make sure rdtsc doesnt speculate out of regionarch/x86/kernel/pvclock.c+2 -27 replies
3/16x86: pvclock: remove pvclock_shadow_timearch/x86/kernel/pvclock.c+11 -461 reply
4/16x86: pvclock: create helper for pvclock data retrievalarch/x86/include/asm/pvclock.h arch/x86/kernel/pvclock.c+30 -142 replies
5/16x86: pvclock: introduce helper to read flagsarch/x86/include/asm/pvclock.h arch/x86/kernel/pvclock.c+14 -02 replies
6/16sched: add notifier for cross-cpu migrationsinclude/linux/sched.h kernel/sched/core.c+23 -01 reply
7/16x86: pvclock: generic pvclock vsyscall initializationarch/x86/include/asm/clocksource.h arch/x86/include/asm/fixmap.h arch/x86/include/asm/pvclock.h +1 more+89 -01 reply
8/16KVM: x86: introduce facility to support vsyscall pvclock, via MSRDocumentation/virtual/kvm/msr.txt arch/x86/include/asm/kvm_host.h arch/x86/include/asm/kvm_para.h +3 more+106 -275 replies
9/16x86: kvm guest: pvclock vsyscall supportarch/x86/include/asm/kvm_guest.h arch/x86/kernel/kvm.c arch/x86/kernel/kvmclock.c+73 -02 replies
10/16x86: vdso: pvclock gettime supportarch/x86/include/asm/vsyscall.h arch/x86/vdso/vclock_gettime.c arch/x86/vdso/vgetcpu.c+90 -116 replies
11/16KVM: x86: pass host_tsc to read_l1_tscarch/x86/include/asm/kvm_host.h arch/x86/kvm/lapic.c arch/x86/kvm/svm.c +2 more+9 -90 replies
12/16time: export time information for KVM pvclockinclude/linux/pvclock_gtod.h kernel/time/timekeeping.c+102 -00 replies
13/16KVM: x86: implement PVCLOCK_TSC_STABLE_BIT pvclock flagarch/x86/include/asm/kvm_host.h arch/x86/kvm/trace.h arch/x86/kvm/x86.c +2 more+252 -70 replies
14/16KVM: x86: notifier for clocksource changesarch/x86/kvm/x86.c+44 -00 replies
15/16KVM: x86: add kvm_arch_vcpu_postcreate callback, move TSC initializationarch/ia64/kvm/kvm-ia64.c arch/powerpc/kvm/powerpc.c arch/s390/kvm/kvm-s390.c +5 more+30 -30 replies
16/16KVM: x86: require matched TSC offsets for master clockarch/x86/include/asm/kvm_host.h arch/x86/kvm/trace.h arch/x86/kvm/x86.c+87 -80 replies

Reviews trailers per patch

2 of 16 patches have a Reviewed-by or Acked-by.

PatchGleb NatapovGlauber Costa
1/16R-b R-b
2/16
3/16R-b
4/16
5/16
6/16
7/16
8/16
9/16
10/16
11/16
12/16
13/16
14/16
15/16
16/16

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [patch 00/16] pvclock vsyscall support + KVM hypervisor support (v3)

This patchset, based on earlier work by Jeremy Fitzhardinge, implements paravirtual clock vsyscall support.

It should be possible to implement Xen support relatively easily.

It reduces clock_gettime from 500 cycles to 200 cycles on my testbox.

Please review.

Quoted 1 line

From my POV, this is ready to merge.

v3:
- fix PVCLOCK_VSYSCALL_NR_PAGES definition (glommer)
- fold flags race fix into pvclock refactoring (avi)
- remove CONFIG_PARAVIRT_CLOCK_VSYSCALL (glommer)
- add reference to tsc.c from vclock_gettime.c about cycle_last rationale (glommer)
- fix whitespace damage (glommer)

v2:
- Do not allow visibility of different <system_timestamp, tsc_timestamp> tuples.
- Add option to disable vsyscall.