On 3/19/22 12:54, Paolo Bonzini wrote:
On 3/19/22 09:08, David Woodhouse wrote:
If a basic API requires this much documentation, my instinct is to
*fix* it with fire first, then document what's left.
I agree, but you're missing all the improvements that went in together
with the offset API in order to enable the ugly algorithm.
A userspace-friendly API for migration would be more like KVM on the
source host giving me { TIME_OF_DAY, TSC } and then all I have to do on
the destination host (after providing the TSC frequency) is give it
precisely the same data.
Again I agree but it would have to be {hostTimeOfDay, hostTSC,
hostTSCFrequency, guestTimeOfDay}.
Ah, I guess you meant {hostTimeOfDay, hostTSC} _plus_ the constant
{guestTSCScale, guestTSCOffset, guestTimeOfDayOffset}. That would work,
and in that case it wouldn't even be KVM returning that host information.
In fact {hostTimeOfDay, hostTSC, hostTSCFrequency, guestTimeOfDay} is
not enough, you also need the guestTSCFrequency and guestTSC (or
equivalently the scale/offset pair).
Paolo