* Re: Fwd: RFC - TSC virtualization for KVM
[not found] <4B271B6F.4000408@redhat.com>
@ 2009-12-22 15:30 ` Joerg Roedel
0 siblings, 0 replies; only message in thread
From: Joerg Roedel @ 2009-12-22 15:30 UTC (permalink / raw)
To: Zachary Amsden
Cc: linux-kernel, Avi Kivity, Marcelo Tosatti, Dor Laor, Joerg Roedel
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-12-22 15:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <4B271B6F.4000408@redhat.com>
2009-12-22 15:30 ` Fwd: RFC - TSC virtualization for KVM Joerg Roedel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.