33 #define CHECK_CPU_FREQ(v) \ 37 (v) = get_clock_freq (); \ 41 #define CALCULATE_ELAPSED_TIME_USEC(time, diff, freq) \ 43 (time)->tv_sec = (long)((diff) / (freq)); \ 44 (time)->tv_usec = (long)((((diff) % (freq)) * (TSC_UINT64) (1000000)) / (freq)); \ 47 #define CALCULATE_ELAPSED_TIMEVAL(time, end, start) \ 49 (time)->tv_sec = (end).tv_sec - (start).tv_sec; \ 50 (time)->tv_usec = (end).tv_usec - (start).tv_usec; \ 51 if ((time)->tv_usec < 0) \ 54 (time)->tv_usec += 1000000; \ 85 tck->
tc = getticks ();
89 gettimeofday (&(tck->
tv),
NULL);
108 if (end_tick.
tc < start_tick.
tc)
116 diff_tsc = (
TSC_UINT64) elapsed ((ticks) end_tick.
tc, (ticks) start_tick.
tc);
139 return tv.tv_sec * 1000000LL + tv.tv_usec;
170 if (end_tick.
tc < start_tick.
tc)
178 diff_tsc = (
TSC_UINT64) elapsed ((ticks) end_tick.
tc, (ticks) start_tick.
tc);
194 #if defined (WINDOWS) 201 #elif defined (LINUX) 206 char mc = 0, smt = 0;
208 fd_mc = open (
"/sys/devices/system/cpu/sched_mc_power_savings", O_RDONLY);
214 n = read (fd_mc, &tmp, 1);
222 fd_smt = open (
"/sys/devices/system/cpu/sched_smt_power_savings", O_RDONLY);
228 n = read (fd_smt, &tmp, 1);
236 if (mc ==
'0' && smt ==
'0')
#define CALCULATE_ELAPSED_TIMEVAL(time, end, start)
static void check_power_savings(void)
UINT64 tsc_elapsed_utime(TSC_TICKS end_tick, TSC_TICKS start_tick)
#define CHECK_CPU_FREQ(v)
struct timeval TSCTIMEVAL
#define CALCULATE_ELAPSED_TIME_USEC(time, diff, freq)
void tsc_elapsed_time_usec(TSCTIMEVAL *tv, TSC_TICKS end_tick, TSC_TICKS start_tick)
void tsc_start_time_usec(TSC_TICKS *tck)
void tsc_end_time_usec(TSCTIMEVAL *tv, TSC_TICKS start_tick)
void tsc_getticks(TSC_TICKS *tck)
static TSC_UINT64 cpu_Clock_rate
TSC_UINT64 get_clock_freq(void)