Messages in this thread | | | Date | Tue, 22 Feb 2011 11:35:13 +0100 | From | "Roedel, Joerg" <> | Subject | Re: [PATCH 0/6] KVM support for TSC scaling |
| |
On Tue, Feb 22, 2011 at 05:11:42AM -0500, Avi Kivity wrote: > 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.
Will do.
> 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?
This scenario doesn't matter. If the guest already detected its TSC to be unstable there is nothing we can do and it doesn't really matter what we set the tsc frequency to. Therefore software will always set the guest tsc frequency to the same value it had on the last host.
In the above scenario this would be be the host tsc frequency of H3. If the guest is migrated further around from the host with TSC multiplier this frequency is passed on further. Software can read the guest tsc frequency using the ioctl.
Joerg
-- AMD Operating System Research Center
Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632
| |