X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=gettime.c;h=272a3e6244527c27d59a06ff99fb4871424a063b;hp=87fc29b50163252e412b85e969aad5de66b7f12b;hb=44364a9937d01825557f4a7d78c6f153886e1115;hpb=ec2ea18e87fad6c42d6875cd4ee1bb25ef9b4627 diff --git a/gettime.c b/gettime.c index 87fc29b5..272a3e62 100644 --- a/gettime.c +++ b/gettime.c @@ -237,16 +237,15 @@ static unsigned long get_cycles_per_msec(void) c_s = get_cpu_clock(); do { __fio_gettime(&e); + c_e = get_cpu_clock(); - elapsed = utime_since(&s, &e); - if (elapsed >= 1280) { - c_e = get_cpu_clock(); + elapsed = ntime_since(&s, &e); + if (elapsed >= 1280000) break; - } } while (1); fio_clock_source = old_cs; - return (c_e - c_s) * 1000 / elapsed; + return (c_e - c_s) * 1000000 / elapsed; } #define NR_TIME_ITERS 50 @@ -299,10 +298,10 @@ static int calibrate_cpu_clock(void) avg /= samples; cycles_per_msec = avg; - dprint(FD_TIME, "avg: %llu\n", (unsigned long long) avg); - dprint(FD_TIME, "min=%llu, max=%llu, mean=%f, S=%f\n", + dprint(FD_TIME, "min=%llu, max=%llu, mean=%f, S=%f, N=%d\n", (unsigned long long) minc, - (unsigned long long) maxc, mean, S); + (unsigned long long) maxc, mean, S, NR_TIME_ITERS); + dprint(FD_TIME, "trimmed mean=%llu, N=%d\n", (unsigned long long) avg, samples); max_ticks = MAX_CLOCK_SEC * cycles_per_msec * 1000ULL; max_mult = ULLONG_MAX / max_ticks; @@ -373,7 +372,7 @@ static int calibrate_cpu_clock(void) #endif // ARCH_HAVE_CPU_CLOCK #ifndef CONFIG_TLS_THREAD -void fio_local_clock_init(int is_thread) +void fio_local_clock_init(void) { struct tv_valid *t; @@ -389,7 +388,7 @@ static void kill_tv_tls_key(void *data) free(data); } #else -void fio_local_clock_init(int is_thread) +void fio_local_clock_init(void) { } #endif