From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH] tsc: use kvmclock for calibration Date: Thu, 9 Aug 2012 16:02:03 -0300 Message-ID: <20120809190203.GE20889@amt.cnet> References: <1344513463-7329-1-git-send-email-kraxel@redhat.com> <5023B2C4.90302@redhat.com> <5023C1D2.5090103@redhat.com> <5023C2BE.5070702@redhat.com> <5023C6B8.4090805@redhat.com> <5023C71B.6090707@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: seabios@seabios.org, Gerd Hoffmann , kvm@vger.kernel.org To: Avi Kivity Return-path: Content-Disposition: inline In-Reply-To: <5023C71B.6090707@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: seabios-bounces@seabios.org Sender: seabios-bounces@seabios.org List-Id: kvm.vger.kernel.org On Thu, Aug 09, 2012 at 05:20:11PM +0300, Avi Kivity wrote: > On 08/09/2012 05:18 PM, Gerd Hoffmann wrote: > > Hi, > > > >>> So what do you suggest? The options I see are: > >>> > >>> (1) Use this patch (with alignment issue fixed of course). > >>> (2) Do a full kvmclock implementation. Feels a bit like overkill. > >>> (3) SeaBIOS can fallback to the PIT for timing on machines which > >>> have no TSC. We could do that too in case we detect kvm ... > >> > >> What sort of timeouts are these? If seconds, maybe the rtc would be best. > > > > All sorts of timeouts, from a few miliseconds to seconds. > > > > The problematic ones are the longer timeouts, which wait for I/O stuff > > like disk reads complete. The stuff with smaller timeouts (like waiting > > for AHCI link become ready) tend to finish instantly in kvm. > > That's not guaranteed. The AHCI adapter might be real hardware. Or the > emulation may change. > > What's wrong with having a full kvmclock implementation? Instead of > issuing rdtsc call a function pointer. Its not necessary (someone is going to maintain the kvmclock frequency retrieve, which patch is already here, versus maintainance of full kvmclock). Frequency scaling (or the software equivalent: TSC trapping) are required for other reasons anyway.