X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=gettime.c;h=5b85a23b8519f3ca2bf1bde102972f4bf648377b;hb=638204956e6ef8f79033163667bdda94aaf9e949;hp=e60d3e20ee492ee96c628e671951ada7e67c1b0b;hpb=67bf982340d95ca98098ea050b54b4c7adb116c0;p=fio.git diff --git a/gettime.c b/gettime.c index e60d3e20..5b85a23b 100644 --- a/gettime.c +++ b/gettime.c @@ -21,8 +21,8 @@ int tsc_reliable = 0; struct tv_valid { struct timeval last_tv; + uint64_t last_cycles; int last_tv_valid; - unsigned long last_cycles; }; #ifdef CONFIG_TLS_THREAD static struct tv_valid __thread static_tv_valid; @@ -168,7 +168,7 @@ static void *__fio_gettime(struct timeval *tp) #endif #ifdef ARCH_HAVE_CPU_CLOCK case CS_CPUCLOCK: { - unsigned long long usecs, t; + uint64_t usecs, t; t = get_cpu_clock(); if (tv && t < tv->last_cycles) { @@ -233,7 +233,7 @@ void fio_gettime(struct timeval *tp, void fio_unused *caller) static unsigned long get_cycles_per_usec(void) { struct timeval s, e; - unsigned long long c_s, c_e; + uint64_t c_s, c_e; enum fio_cs old_cs = fio_clock_source; #ifdef CONFIG_CLOCK_GETTIME @@ -245,7 +245,7 @@ static unsigned long get_cycles_per_usec(void) c_s = get_cpu_clock(); do { - unsigned long long elapsed; + uint64_t elapsed; __fio_gettime(&e); @@ -265,7 +265,7 @@ static unsigned long get_cycles_per_usec(void) static void calibrate_cpu_clock(void) { double delta, mean, S; - unsigned long avg, cycles[NR_TIME_ITERS]; + uint64_t avg, cycles[NR_TIME_ITERS]; int i, samples; cycles[0] = get_cycles_per_usec(); @@ -429,9 +429,9 @@ uint64_t time_since_now(struct timeval *s) #define CLOCK_ENTRIES 100000 struct clock_entry { - unsigned long seq; - unsigned long tsc; - unsigned long cpu; + uint64_t seq; + uint64_t tsc; + uint64_t cpu; }; struct clock_thread { @@ -501,9 +501,12 @@ int fio_monotonic_clocktest(void) unsigned int nr_cpus = cpus_online(); struct clock_entry *entries; unsigned long tentries, failed; + struct clock_entry *prev, *this; uint64_t seq = 0; int i; + log_info("cs: reliable_tsc: %s\n", tsc_reliable ? "yes" : "no"); + fio_debug |= 1U << FD_TIME; calibrate_cpu_clock(); fio_debug &= ~(1U << FD_TIME); @@ -556,7 +559,7 @@ int fio_monotonic_clocktest(void) qsort(entries, tentries, sizeof(struct clock_entry), clock_cmp); for (failed = i = 0; i < tentries; i++) { - struct clock_entry *prev, *this = &entries[i]; + this = &entries[i]; if (!i) { prev = this;