Re: [PATCH] tsc: use kvmclock for calibration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/09/2012 10:02 PM, Marcelo Tosatti wrote:
> 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).

The frequency is meaninless.

> 
> Frequency scaling (or the software equivalent: TSC trapping) are
> required for other reasons anyway.

One thing we can do is enable TSC trapping, then disable it if the guest
activates kvmclock.  That gives us accurate time either way.


-- 
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux