[Spice-devel] [PATCH spice-server 1/2] utils: Get monotonic time in a coherent way
Christophe Fergeau
cfergeau at redhat.com
Tue Oct 9 13:16:29 UTC 2018
On Tue, Oct 09, 2018 at 08:45:58AM -0400, Frediano Ziglio wrote:
> >
> > On Tue, Oct 09, 2018 at 01:14:10PM +0100, Frediano Ziglio wrote:
> > > Use a single function to get monotonic time.
> > > As lot of code needs nanosecond precision, spice_get_monotonic_time_ns
> > > is used.
> > >
> >
> > "lots of code needs nanosecond precision"? I looked at a few files using
> > spice_get_monotonic_time_ns, and nanosecond precision did not seem
> > useful in any of those (the code was adding a timeout in second to it, or
> > using g_usleep, or converting it to some other unit straight away). So I
> > would not add this misleading comment to the log ;) Maybe this should
> > be adding a spice_get_monotonic_get_us helper so that it's clear we
> > don't need that much precision?
> >
> > Christophe
> >
>
> There are 32 calls and only 4 seems to require less precision than
> that.
We'll have to disagree here, I haven't looked at all the call sites, but
I'm not far from reaching the opposite conclusion (the majority of the
calls does not need ns, only a few places are less obvious).
> Maybe usec are enough but as at the end we need to call
> clock_gettime and use 64 bit integers anyway so using nanoseconds
> by default is not more costly. I don't know if switching to
> microseconds could cause some wrong rounding, surely not
> switching won't have this issue.
>
> You just removed the XX_ms one, now we want the XX_us? At this
> point let's have all XX_ns, XX_us, XX_ms and XX_s.
I guess this all can be revisited later as this is getting more involved
than what you initially had in mind :)
> How should I change the comment?
Removing it should be all that is needed.
> > > diff --git a/server/utils.h b/server/utils.h
> > > index 07878539..a2747cf7 100644
> > > --- a/server/utils.h
> > > +++ b/server/utils.h
> > > @@ -54,8 +54,9 @@ typedef int64_t red_time_t;
> > >
> > > #define NSEC_PER_SEC 1000000000LL
> > > #define NSEC_PER_MILLISEC 1000000LL
> > > +#define NSEC_PER_MICROSEC 1000
> > >
> > > -/* FIXME: consider g_get_monotonic_time (), but in microseconds */
> > > +/* g_get_monotonic_time() as not enough precision */
You could probably just drop the comment. Or s/as/does not have/ if you
keep it.
Acked-by: Christophe Fergeau <cfergeau at redhat.com>
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20181009/bc246b51/attachment.sig>
More information about the Spice-devel
mailing list