|| ||Zachary Amsden <firstname.lastname@example.org> |
|| ||email@example.com |
|| ||KVM timekeeping and TSC virtualization |
|| ||Thu, 19 Aug 2010 22:07:14 -1000|
|| ||Article, Thread
This patch set implements full TSC virtualization, with both
trapping and passthrough modes, and intelligent mode switching.
As a result, TSC will never go backwards, we are stable against
guest re-calibration attempts, VM reset, and migration. For guests
which require it, the TSC khz can even be preserved on migration
to a new host.
The TSC will never be trapped on UP systems unless the host TSC
actually runs faster than the guest; other conditions, including
bad hardware and changing speeds are accomodated by using catchup
mode to keep the guest passthrough TSC in line with the host clock.
What is still needed on top of this is a way to force TSC
trapping, or disable it entirely, for benchmarking purposes.
I refrained from adding that last bit because it wasn't clear
whether the best thing to do is a global 'force TSC trapping' /
'force TSC passthrough' / 'intelligent choice', or if this control
should be on a per-VM level, via an ioctl(), module parameter,
John and Thomas I have cc'd on this because it may be relevant to
their interests and I always appreciate feedback, especially on
a change set as large and complex as this.
Enjoy. This time, there are no howler monkeys. I've included
all the feedback I got from previous rounds of this and more.
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to firstname.lastname@example.org
More majordomo info at http://vger.kernel.org/majordomo-info.html