RFC - TSC virtualization for KVM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux