
On Tue, Jan 10, 2017 at 05:36:48PM +0100, Paolo Bonzini wrote:
On 05/01/2017 11:48, Marcelo Tosatti wrote:
Host A has TSC scaling, host B doesn't have TSC scaling. We want to be able to start the VM on host A, and migrate to B. In this case, the only possible solution is to use B's frequency when starting the VM. The QEMU process doesn't have enough information to make that decision. That is a good point. But again, its a special case and should be supported by -cpu xxx,tsc-frequency=zzzz.
I don't think this is a scenario that can work reliably. The computed TSC frequency may vary by 0.5% or so on every boot (e.g. you may get 2497000 kHz or 2511000 kHz for a 2.5 GHz TSC). You can start the VM on host A, reboot host B, and then you'll be unable to migrate.
Right, so it means invtsc migration without TSC scaling will be possible in practice only if we tolerate a small variance on TSC frequency on migration. The question is: should we? Can we tolerate a 0.5% variance on TSC frequency and still expose invtsc to the guest? -- Eduardo