On Wed, 16 Oct 2019 at 15:34, Andrew Jones <[email protected]> wrote: > > v2: > - move from RFC status to v1 > - put kvm_arm_vm_state_change() in kvm.c to share among kvm32.c and kvm64.c > - add r-b's from Richard > > > This series is inspired by a series[1] posted by Bijan Mottahedeh about > a year ago. The problem described in the cover letter of [1] is easily > reproducible and some users would like to have the option to avoid it. > However the solution, which is to adjust the virtual counter offset each > time the VM transitions to the running state, introduces a different > problem, which is that the virtual and physical counters diverge. As > described in the cover letter of [1] this divergence is easily observed > when comparing the output of `date` and `hwclock` after suspending the > guest, waiting a while, and then resuming it. Because this different > problem may actually be worse for some users, unlike [1], the series > posted here makes the virtual counter offset adjustment optional and not > even enabled by default. Besides the adjustment being optional, this > series approaches the needed changes differently to apply them in more > appropriate locations. Finally, unlike [1], this series doesn't attempt > to measure "pause time" itself. Simply using QEMU_CLOCK_VIRTUAL, which > only ticks when the VM is not stopped, is sufficient.
So I guess my overall question is "what is the x86 solution to this problem, and why is this all arm-specific?" It would also be helpful to know how it fits into all the other proposals regarding time in VMs. thanks -- PMM
