public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* RFC - TSC virtualization for KVM
@ 2009-12-15  4:08 Zachary Amsden
  2009-12-15  4:08 ` [PATCH RFC: kvm tsc virtualization 01/20] Move TSC read to vmx_vcpu_put Zachary Amsden
  2009-12-15  8:38 ` RFC - TSC virtualization for KVM Alexander Graf
  0 siblings, 2 replies; 26+ messages in thread
From: Zachary Amsden @ 2009-12-15  4:08 UTC (permalink / raw)
  To: kvm

This set of patches builds the infrastructure to do both passthrough and
intercept based virtualization of TSC in KVM.

Unfortunately, I got caught up on the mechanics of the locking for quite
some time to this work is a bit delayed, and the tail end of the patches
is in a bit of a messy state, where Intel support needs to be re-integrated
(I have patches for this which are now dated and probably don't apply).

Nevertheless, I thought considering Joerg and others are working on this
as well it would be a good time to get feedback on both the technical details
and the overall direction.

The overall goal is to have a stable platform TSC and a mixed set of
virtualization approaches that can be tailored for the need of the particular
operating system running, which runs on systems regardless of hardware TSC
frequency changes, CPU hotplug, or destabilization events, and which allows
virtualization of multiple different TSC speeds.  I realize this is ambitious,
but it is achievable, and I believe these patches provide a solid foundation.

The direct result will be highly efficient support for 'modern' OSes (which
have paravirt clocks or enlightenments) and much more correctable support for
legacy OSes (which rely on counting TSC and timer tick).

I have liberally sprinkled comments in the patches and patch descriptions
to hopefully clarify some of the less intuitive parts.

I realize there are some no-nos in here like changing the meaning of the
IOCTLs in the middle of a patch set and being a bit behind the current head.
This is simply because this patch set is consider a work in progress,
especially towards the tail end where we will need integration with qemu.

I appreciate any feedback you can give.

Thanks,

Zach


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

end of thread, other threads:[~2009-12-16 14:41 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-15  4:08 RFC - TSC virtualization for KVM Zachary Amsden
2009-12-15  4:08 ` [PATCH RFC: kvm tsc virtualization 01/20] Move TSC read to vmx_vcpu_put Zachary Amsden
2009-12-15  4:08   ` [PATCH RFC: kvm tsc virtualization 02/20] Add a hotplug notifier to KVM x86 backend Zachary Amsden
2009-12-15  4:08     ` [PATCH RFC: kvm tsc virtualization 03/20] TSC offset framework Zachary Amsden
2009-12-15  4:08       ` [PATCH RFC: kvm tsc virtualization 04/20] Synchronize TSC when a new CPU comes up Zachary Amsden
2009-12-15  4:08         ` [PATCH RFC: kvm tsc virtualization 05/20] Fix AMD C1 TSC desynchronization Zachary Amsden
2009-12-15  4:08           ` [PATCH RFC: kvm tsc virtualization 06/20] Make TSC reference stable across frequency changes Zachary Amsden
2009-12-15  4:08             ` [PATCH RFC: kvm tsc virtualization 07/20] Basic SVM implementation of RDTSC trapping Zachary Amsden
2009-12-15  4:08               ` [PATCH RFC: kvm tsc virtualization 08/20] Export the reference TSC from KVM module Zachary Amsden
2009-12-15  4:08                 ` [PATCH RFC: kvm tsc virtualization 09/20] Use TSC reference for SVM Zachary Amsden
2009-12-15  4:08                   ` [PATCH RFC: kvm tsc virtualization 10/20] Add a stat counter for RDTSC exits Zachary Amsden
2009-12-15  4:08                     ` [PATCH RFC: kvm tsc virtualization 11/20] Use highest TSC frequency as reference clock Zachary Amsden
2009-12-15  4:08                       ` [PATCH RFC: kvm tsc virtualization 12/20] Higher accuracy TSC offset computation Zachary Amsden
2009-12-15  4:08                         ` [PATCH RFC: kvm tsc virtualization 13/20] Combine observed TSC deviation into moving average Zachary Amsden
2009-12-15  4:08                           ` [PATCH RFC: kvm tsc virtualization 14/20] Move TSC cpu vars to a struct Zachary Amsden
2009-12-15  4:08                             ` [PATCH RFC: kvm tsc virtualization 15/20] Fix longstanding races Zachary Amsden
2009-12-15  4:08                               ` [PATCH RFC: kvm tsc virtualization 16/20] Fix 32-bit mult_precise Zachary Amsden
2009-12-15  4:08                                 ` [PATCH RFC: kvm tsc virtualization 17/20] Periodically measure TSC skew Zachary Amsden
2009-12-15  4:08                                   ` [PATCH RFC: kvm tsc virtualization 18/20] Implement variable speed TSC Zachary Amsden
2009-12-15  4:08                                     ` [PATCH RFC: kvm tsc virtualization 19/20] IOCTL for different TSC modes Zachary Amsden
2009-12-15  4:08                                       ` [PATCH RFC: kvm tsc virtualization 20/20] Get passthrough TSC working in SVM again Zachary Amsden
2009-12-15 13:58                               ` [PATCH RFC: kvm tsc virtualization 15/20] Fix longstanding races Andi Kleen
2009-12-15 18:21                               ` Marcelo Tosatti
2009-12-15 21:26                                 ` Zachary Amsden
2009-12-16 14:41                                   ` Marcelo Tosatti
2009-12-15  8:38 ` RFC - TSC virtualization for KVM Alexander Graf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox