On 22/01/2016 11:15, Andrey Smetanin wrote:
- unless KVM can use a master clock, it is incorrect to set up the TSC
page this way; the sequence needs to be 0xFFFFFFFF in that case
0xFFFFFFFF is not an invalid value for tsc page,
see https://lkml.org/lkml/2015/11/2/655
oh, I see now.
- writing the TSC page must be done while all VCPUs are stopped, because
the TSC page doesn't provide the possibility for the guest to retry in
the middle of an update (like seqcount in Linux doess)
I think Windows guest gives tsc page address at boot time and protects
against other vcpu's tsc page access.
Sometimes the TSC is detected to be unstable and Linux switches to
another clocksource. At least in that case you can get a write to the
TSC page while the guest is running.