pvclock vsyscall support + KVM hypervisor support (v4)
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest18 patches 9 repliesIn review
v4 from the cover letter
- remove aligned_pvti structure, align directly (Glauber)
- add comments to migration notifier (Glauber)
- mark migration notifier condition as unlikely (Glauber)
- add comment about rdtsc barrier dependency on sse2 (Gleb)
- add idea to improve vdso gettime call (Gleb)
- remove new msr interface, reuse kernel copy of pvclock data (Glauber)
- move copying of timekeeping data from generic timekeeping code to kvm code (John)
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/18 | KVM: x86: retain pvclock guest stopped bit in guest memoryarch/ | +13 | 0 replies | |
| 1/18 | KVM: x86: retain pvclock guest stopped bit in guest memoryarch/ | +13 | 0 replies | |
| 2/18 | x86: kvmclock: allocate pvclock shared memory areaarch/ | +42 | 1 reply | |
| 2/18 | x86: kvmclock: allocate pvclock shared memory area (v2)arch/ | +47 | 1 reply | |
| 2/18 | x86: kvmclock: allocate pvclock shared memory areaarch/ | +47 | 0 replies | |
| 3/18 | x86: pvclock: make sure rdtsc doesnt speculate out of regionarch/ | +2 | 0 replies | |
| 3/18 | x86: pvclock: make sure rdtsc doesnt speculate out of regionarch/ | +2 | 0 replies | |
| 4/18 | x86: pvclock: remove pvclock_shadow_timearch/ | +11 | 0 replies | |
| 4/18 | x86: pvclock: remove pvclock_shadow_timearch/ | +11 | 0 replies | |
| 5/18 | x86: pvclock: create helper for pvclock data retrievalarch/ arch/ | +30 | 1 reply | |
| 5/18 | x86: pvclock: create helper for pvclock data retrievalarch/ arch/ | +30 | 0 replies | |
| 6/18 | x86: pvclock: introduce helper to read flagsarch/ arch/ | +14 | 1 reply | |
| 6/18 | x86: pvclock: introduce helper to read flagsarch/ arch/ | +14 | 0 replies | |
| 7/18 | x86: pvclock: add note about rdtsc barriersarch/ | +3 | 1 reply | |
| 7/18 | x86: pvclock: add note about rdtsc barriers (v2)arch/ | +6 | 0 replies | |
| 7/18 | x86: pvclock: add note about rdtsc barriersarch/ | +6 | 0 replies | |
| 8/18 | sched: add notifier for cross-cpu migrationsinclude/ kernel/ | +23 | 1 reply | |
| 8/18 | sched: add notifier for cross-cpu migrationsinclude/ kernel/ | +23 | 0 replies | |
| 9/18 | x86: pvclock: generic pvclock vsyscall initializationarch/ arch/ arch/ +1 more | +87 | 0 replies | |
| 9/18 | x86: pvclock: generic pvclock vsyscall initializationarch/ arch/ arch/ +1 more | +87 | 0 replies | |
| 10/18 | x86: kvm guest: pvclock vsyscall supportarch/ arch/ arch/ | +59 | 0 replies | |
| 11/18 | x86: vdso: pvclock gettime supportarch/ arch/ arch/ | +96 | 0 replies | |
| 11/18 | x86: vdso: pvclock gettime supportarch/ arch/ arch/ | +96 | 0 replies | |
| 12/18 | KVM: x86: pass host_tsc to read_l1_tscarch/ arch/ arch/ +2 more | +9 | 0 replies | |
| 12/18 | KVM: x86: pass host_tsc to read_l1_tscarch/ arch/ arch/ +2 more | +9 | 0 replies | |
| 13/18 | time: export time information for KVM pvclockinclude/ kernel/ | +59 | 1 reply | |
| 13/18 | time: export time information for KVM pvclockinclude/ kernel/ | +59 | 0 replies | |
| 14/18 | KVM: x86: notifier for clocksource changesarch/ | +85 | 0 replies | |
| 14/18 | KVM: x86: notifier for clocksource changesarch/ | +85 | 0 replies | |
| 15/18 | KVM: x86: implement PVCLOCK_TSC_STABLE_BIT pvclock flagarch/ arch/ arch/ +2 more | +260 | 0 replies | |
| 15/18 | KVM: x86: implement PVCLOCK_TSC_STABLE_BIT pvclock flagarch/ arch/ arch/ +2 more | +260 | 0 replies | |
| 16/18 | KVM: x86: add kvm_arch_vcpu_postcreate callback, move TSC initializationarch/ arch/ arch/ +5 more | +30 | 0 replies | |
| 16/18 | KVM: x86: add kvm_arch_vcpu_postcreate callback, move TSC initializationarch/ arch/ arch/ +5 more | +30 | 0 replies | |
| 17/18 | KVM: x86: require matched TSC offsets for master clockarch/ arch/ arch/ | +87 | 0 replies | |
| 17/18 | KVM: x86: require matched TSC offsets for master clockarch/ arch/ arch/ | +87 | 0 replies | |
| 18/18 | KVM: x86: update pvclock area conditionally, on cpu migrationarch/ | +6 | 1 reply | |
| 18/18 | KVM: x86: update pvclock area conditionally, on cpu migrationarch/ | +6 | 1 reply |
Reviews trailers per patch
15 of 37 patches have a Reviewed-by or Acked-by.
| Patch | Glauber Costa | Gleb Natapov | John Stultz |
|---|---|---|---|
| 1/18 | R-b R-b | R-b R-b | |
| 1/18 | R-b R-b | R-b R-b | |
| 2/18 | A-b A-b A-b | ||
| 2/18 | A-b A-b A-b | ||
| 2/18 | A-b A-b A-b | ||
| 3/18 | |||
| 3/18 | |||
| 4/18 | R-b R-b | ||
| 4/18 | R-b R-b | ||
| 5/18 | A-b A-b | ||
| 5/18 | A-b A-b | ||
| 6/18 | A-b A-b | ||
| 6/18 | A-b A-b | ||
| 7/18 | |||
| 7/18 | |||
| 7/18 | |||
| 8/18 | |||
| 8/18 | |||
| 9/18 | |||
| 9/18 | |||
| 10/18 | |||
| 11/18 | |||
| 11/18 | |||
| 12/18 | |||
| 12/18 | |||
| 13/18 | A-b A-b | ||
| 13/18 | A-b A-b | ||
| 14/18 | |||
| 14/18 | |||
| 15/18 | |||
| 15/18 | |||
| 16/18 | |||
| 16/18 | |||
| 17/18 | |||
| 17/18 | |||
| 18/18 | A-b A-b | ||
| 18/18 | A-b A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [patch 00/18] pvclock vsyscall support + KVM hypervisor support (v4)
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.
v4:
- remove aligned_pvti structure, align directly (Glauber)
- add comments to migration notifier (Glauber)
- mark migration notifier condition as unlikely (Glauber)
- add comment about rdtsc barrier dependency on sse2 (Gleb)
- add idea to improve vdso gettime call (Gleb)
- remove new msr interface, reuse kernel copy of pvclock data (Glauber)
- move copying of timekeeping data from generic timekeeping code to kvm code (John)
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.