[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/3] use nanoseconds everywhere for timeout comp
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH 1/3] use nanoseconds everywhere for timeout computation |
Date: |
Tue, 1 Feb 2011 19:47:18 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Mon, Jan 31, 2011 at 04:17:52PM -0600, Anthony Liguori wrote:
> On 01/31/2011 03:51 PM, Paolo Bonzini wrote:
>> Suggested by Aurelien Jarno.
>>
>> Signed-off-by: Paolo Bonzini<address@hidden>
>>
>
> Something I've found is that we have a lot of bugs that are the result
> of unit conversions when the unit can't be mapped directly to base 10.
>
> This happens in both the PIT and RTC and probably every other fixed bus
> speed based clock we support.
>
> I think it would be better to have a Unit argument to qemu_get_clock to
> specify the desired units. That way, we could request NS as the time
> unit or something like PC_FREQ0 which would map to the bus speed of the
> PIT.
It's more or less what is already done with the two versions of the
functions, qemu_get_clock() which can return different unit depending on
what you ask (and in my opinion should simply disappear because it's the
best way to have bugs), and qemu_get_clock_ns() that always return it in
nanoseconds. What you suggests is a generalization of this second
function to different units than ns.
That's an option, but we should pay attention that given we work in
integer, a conversion decrease the precision, so it should usually be
done at the last moment to keep the precision correct (assuming ns is
precise enough, which I guess is true).
In any case I think this patch series should be applied as it fixes a
real bug. It's already a step in the right direction, as it removes
useless conversions, as all the involved functions use ns in fine.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
address@hidden http://www.aurel32.net