qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 2/9] rtl8139: remove muldiv64()


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH v3 2/9] rtl8139: remove muldiv64()
Date: Fri, 28 Aug 2015 15:12:55 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

On Thu, Aug 27, 2015 at 09:33:00PM +0200, Laurent Vivier wrote:
> Originally, timers were ticks based, and it made sense to
> add ticks to current time to know when to trigger an alarm.
> 
> But since commit:
> 
> 7447545 change all other clock references to use nanosecond resolution 
> accessors
> 
> All timers use nanoseconds and we need to convert ticks to nanoseconds, by
> doing something like:
> 
>     y = muldiv64(x, get_ticks_per_sec(), PCI_FREQUENCY)
> 
> where x is the number of device ticks and y the number of system ticks.
> 
> y is used as nanoseconds in timer functions,
> it works because 1 tick is 1 nanosecond.
> (get_ticks_per_sec() is 10^9)
> 
> But as PCI frequency is 33 MHz, we can also do:
> 
>     y = x * 30; /* 33 MHz PCI period is 30 ns */
> 
> Which is much more simple.
> 
> This implies a 33.333333 MHz PCI frequency,
> but this is correct.
> 
> Signed-off-by: Laurent Vivier <address@hidden>
> ---
> v3: part of "PCI: remove muldiv64()"
>  hw/net/rtl8139.c     | 14 ++++++--------
>  tests/rtl8139-test.c |  2 +-
>  2 files changed, 7 insertions(+), 9 deletions(-)

Reviewed-by: Stefan Hajnoczi <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]