From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: KVM timekeeping and TSC virtualization Date: Tue, 24 Aug 2010 19:13:01 -0300 Message-ID: <20100824221301.GA12173@amt.cnet> References: <1282291669-25709-1-git-send-email-zamsden@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm@vger.kernel.org, Avi Kivity To: Zachary Amsden Return-path: Received: from mx1.redhat.com ([209.132.183.28]:2677 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932536Ab0HYDSD (ORCPT ); Tue, 24 Aug 2010 23:18:03 -0400 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o7P3I2d8028248 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 24 Aug 2010 23:18:02 -0400 Content-Disposition: inline In-Reply-To: <1282291669-25709-1-git-send-email-zamsden@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Aug 19, 2010 at 10:07:14PM -1000, 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 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. Applied 1-19, thanks.