/* TRACE CLOCK */
-//ust// static inline u64 trace_clock_read64(void)
-//ust// {
-//ust// uint32_t low;
-//ust// uint32_t high;
-//ust// uint64_t retval;
-//ust// __asm__ volatile ("rdtsc\n" : "=a" (low), "=d" (high));
-//ust//
-//ust// retval = high;
-//ust// retval <<= 32;
-//ust// return retval | low;
-//ust// }
-
static inline u64 trace_clock_read64(void)
{
- struct timeval tv;
- u64 retval;
-
- gettimeofday(&tv, NULL);
- retval = tv.tv_sec;
- retval *= 1000000;
- retval += tv.tv_usec;
-
- return retval;
+ uint32_t low;
+ uint32_t high;
+ uint64_t retval;
+ __asm__ volatile ("rdtsc\n" : "=a" (low), "=d" (high));
+
+ retval = high;
+ retval <<= 32;
+ return retval | low;
}
+//static inline u64 trace_clock_read64(void)
+//{
+// struct timeval tv;
+// u64 retval;
+//
+// gettimeofday(&tv, NULL);
+// retval = tv.tv_sec;
+// retval *= 1000000;
+// retval += tv.tv_usec;
+//
+// return retval;
+//}
+
static inline u64 trace_clock_frequency(void)
{
return 1000000LL;