Messages in this thread | | | Date | Tue, 22 Dec 2009 16:30:59 +0100 | From | Joerg Roedel <> | Subject | Re: Fwd: RFC - TSC virtualization for KVM |
| |
Hi Zachary,
On Mon, Dec 14, 2009 at 07:15:27PM -1000, Zachary Amsden wrote: > 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.
I have some high-level comments on your patchset.
First, I like the idea of introducing a new ioctl to set the guest tsc rate. But I think it could be a little bit simpler. How about a single __u32 parameter instead of a struct. This parameter is the tsc rate for the guest in khz. If this value is configured to be 0 this means the cpu tsc frequency should be used.
Second, the patchset implements very sophisticated code to keep the tsc of different cpus synchronized. This code looks a bit fragile to me, it does not protect against SMI or NMI (and there is no way to do so). Have you thought about using the kernel system time as a reference and calculate a tsc value for the vcpu? The kernel timekeeping solves most of the problems you have here already.
Regards,
Joerg
| |