From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH] tsc: use kvmclock for calibration Date: Fri, 10 Aug 2012 18:26:05 -0300 Message-ID: <20120810212605.GA32628@amt.cnet> References: <1344513463-7329-1-git-send-email-kraxel@redhat.com> <5023B2C4.90302@redhat.com> <5023C1D2.5090103@redhat.com> <5023C2BE.5070702@redhat.com> <20120809190913.GG20889@amt.cnet> <5024C1F3.80103@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: seabios@seabios.org, Avi Kivity , kvm@vger.kernel.org To: Gerd Hoffmann Return-path: Content-Disposition: inline In-Reply-To: <5024C1F3.80103@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: seabios-bounces+gcbcs-seabios=m.gmane.org@seabios.org Sender: seabios-bounces+gcbcs-seabios=m.gmane.org@seabios.org List-Id: kvm.vger.kernel.org On Fri, Aug 10, 2012 at 10:10:27AM +0200, Gerd Hoffmann wrote: > Hi, > > >>> (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. > > > > I vote for 3 so nobody has to maintain kvmclock code in SeaBIOS and Gerd > > can fix the in-kernel PIT issues with GRUB (see Michaels message) while testing. > > (2) turned out to be not too bad when taking a shortcut: Go through an > enable/disable cycle each time we read the clock, then just grab > system_time. Not that efficient, but should be ok for seabios. Usually > it checks the clock when sitting around idle, waiting for something to > happen. And it simplifies the implementation alot as we can just skip > all the tsc frequency & delta calculations. > > Draft patch attached. Comments? Given the history of problems with kvmclock, would rather see it not being used for delays, if possible. Your shortcut gets rid of a class of problems, but there might be others (...). Isnt pmtimer ioport usable? 14MHz. Error handling in kvmclock_init is awkward. Thanks