From mboxrd@z Thu Jan 1 00:00:00 1970 From: pierre-marc.fournier@polymtl.ca (Pierre-Marc Fournier) Date: Tue, 25 May 2010 10:31:20 -0400 Subject: [ltt-dev] PATCH [0/1]: Replace gettimeofday with clock_gettime In-Reply-To: References: Message-ID: <4BFBDF38.7090200@polymtl.ca> Thanks, comments below. On 05/24/2010 10:54 AM, Nils Carlson wrote: > This patch replaces gettimeofday with clock_gettime(CLOCK_MONOTONIC,) > > Signed-off-by: Nils Carlson > > diff --git a/include/ust/clock.h b/include/ust/clock.h > index d4b6a9d..bc26d26 100644 > --- a/include/ust/clock.h > +++ b/include/ust/clock.h > @@ -18,6 +18,7 @@ > #ifndef UST_CLOCK_H > #define UST_CLOCK_H > > +#include > #include > #include > > @@ -25,7 +26,7 @@ > > /* There are two types of clocks that can be used. > - TSC based clock > - - gettimeofday() clock > + - gettimeofday() clock - to guarantee monotonicity use clock_gettime > > Microbenchmarks on Linux 2.6.30 on Core2 Duo 3GHz (functions are > inlined): > Calls (100000000) to tsc(): 4004035641 cycles or 40 cycles/call > @@ -41,13 +42,13 @@ > > static __inline__ u64 trace_clock_read64(void) > { > - struct timeval tv; > + struct timespec ts; > u64 retval; > > - gettimeofday(&tv, NULL); > - retval = tv.tv_sec; > + clock_gettime(CLOCK_MONOTONIC,&ts); > + retval = ts.tv_sec; > retval *= 1000000; > - retval += tv.tv_usec; > + retval += ts.tv_nsec / 1000; Any specific reason for truncating the nanoseconds here? > > return retval; > } > diff --git a/libust/Makefile.am b/libust/Makefile.am > index 2de5857..e357ad1 100644 > --- a/libust/Makefile.am > +++ b/libust/Makefile.am > @@ -27,6 +27,7 @@ libust_la_LDFLAGS = -no-undefined -version-info 0:0:0 > > libust_la_LIBADD = \ > -lpthread \ > + -lrt \ I guess this isn't supposed to be part of the patch? > $(top_builddir)/snprintf/libustsnprintf.la \ > $(top_builddir)/libustcomm/libustcomm.la > > > > > > _______________________________________________ > ltt-dev mailing list > ltt-dev at lists.casi.polymtl.ca > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev