Messages in this thread | | | Date | Tue, 22 Feb 2011 12:11:42 +0200 | From | Avi Kivity <> | Subject | Re: [PATCH 0/6] KVM support for TSC scaling |
| |
On 02/21/2011 07:28 PM, Roedel, Joerg wrote: > > - what's the cost of wrmsr(TSC_MULT)? > > Hard to tell by now because I only have numbers for pre-production > hardware.
Can you ask your hardware people what the cost will likely be? msrs are often expensive, and here we have two in the lightweight exit path.
> > There are really two ways to implement this feature. One is fully > > generic, like you did. The other is to implement it at the host level - > > have a sysfs file and/or kernel parameter for the desired tsc frequency, > > write it once, and forget about it. Trust management to set the host > > tsc frequency to the same value on all hosts in a migration cluster. > > The motivation here is mostly the flexibility. Scale the TSC for the > whole migration cluster only makes sense if all hosts there support the > feature. But the most likely scenario is that existing migration > clusters will be extended by new machines and guests will be migrated > there. And these guests should be able to see the same TSC frequency on > the new host as the had on the old one. The older machines in the > cluster may even have different TSC frequencys. With this flexible > implementation those scenarios are possible. A host-wide setting for the > scaling will make the feature useless in those (common) scenarios.
This doesn't really work, since we don't know on what host the TSC calibration loop ran:
- start guest on host H1 - migrate it around, now it's on host H2 - guest reboots, reruns calibration loop - migrate it around some more, now it's on host H3 - migrate to host with tsc multiplier Hnew
So, what should we set the multiplier to? H1, H2, or H3's tsc rate?
-- error compiling committee.c: too many arguments to function
| |