From mboxrd@z Thu Jan 1 00:00:00 1970 From: "David S. Ahern" Subject: Re: KVM timekeeping and TSC virtualization Date: Fri, 20 Aug 2010 07:26:28 -0600 Message-ID: <4C6E8284.6020200@cisco.com> References: <1282291669-25709-1-git-send-email-zamsden@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: Zachary Amsden Return-path: Received: from sj-iport-1.cisco.com ([171.71.176.70]:33599 "EHLO sj-iport-1.cisco.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752033Ab0HTN0c (ORCPT ); Fri, 20 Aug 2010 09:26:32 -0400 In-Reply-To: <1282291669-25709-1-git-send-email-zamsden@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 08/20/10 02:07, Zachary Amsden wrote: > 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's the overhead of trapping TSC reads for Nehalem-type processors? gettimeofday() in guests is the biggest performance problem with KVM for me, especially for older OSes like RHEL4 which is a supported OS for another 2 years. Even with RHEL5, 32-bit, I had to force kvmclock off to get the VM to run reliably: http://article.gmane.org/gmane.comp.emulators.kvm.devel/51017/match=kvmclock+rhel5.5 David > > 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, > or sysfs. > > 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 majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >