Re: [PATCH 11/17] Fix a possible backwards warp of kvmclock

From: Zachary Amsden
Date: Wed Jun 16 2010 - 18:38:39 EST


On 06/16/2010 03:58 AM, Glauber Costa wrote:
On Wed, Jun 16, 2010 at 04:11:26PM +0800, Jason Wang wrote:
Zachary Amsden wrote:
Kernel time, which advances in discrete steps may progress much slower
than TSC. As a result, when kvmclock is adjusted to a new base, the
apparent time to the guest, which runs at a much higher, nsec scaled
rate based on the current TSC, may have already been observed to have
a larger value (kernel_ns + scaled tsc) than the value to which we are
setting it (kernel_ns + 0).

This is one issue of kvmclock which tries to supply a clocksource whose
precision may even higher than host.
What if we export to the guest the current clock resolution, and when doing guest
reads, simply chop whatever value we got to the lowest acceptable value?

I considered it, but it still doesn't solve the problem, at least, not without adding TSC trap and emulate. If you can see a higher resolution clock advance faster than the resolution of the kernel, you still have the problem, and any visible TSC will do that.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/