[SeaBIOS] [PATCH] tsc: use kvmclock for calibration
Avi Kivity
avi at redhat.com
Sun Aug 12 12:56:51 CEST 2012
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
More information about the SeaBIOS
mailing list