X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=gettime.c;h=ac541113245fb49876ed2afa601894cff3ca776c;hp=d1c8eb970c3cb4125022508b2cb43b3f36571843;hb=2972708f4b9f64896f777382717edabb7dcaefda;hpb=96170421ea0b77779faf9e14499a14910e88de33 diff --git a/gettime.c b/gettime.c index d1c8eb97..ac541113 100644 --- a/gettime.c +++ b/gettime.c @@ -13,7 +13,8 @@ #include "hash.h" #include "os/os.h" -#if defined(ARCH_HAVE_CPU_CLOCK) && !defined(ARCH_CPU_CLOCK_CYCLES_PER_USEC) +#if defined(ARCH_HAVE_CPU_CLOCK) +#ifndef ARCH_CPU_CLOCK_CYCLES_PER_USEC static unsigned long cycles_per_usec; static unsigned long inv_cycles_per_usec; static uint64_t max_cycles_for_mult; @@ -21,6 +22,7 @@ static uint64_t max_cycles_for_mult; #ifdef ARCH_CPU_CLOCK_WRAPS static unsigned long long cycles_start, cycles_wrap; #endif +#endif int tsc_reliable = 0; struct tv_valid { @@ -131,7 +133,9 @@ static void fio_init gtod_init(void) #ifdef CONFIG_CLOCK_GETTIME static int fill_clock_gettime(struct timespec *ts) { -#ifdef CONFIG_CLOCK_MONOTONIC +#if defined(CONFIG_CLOCK_MONOTONIC_RAW) + return clock_gettime(CLOCK_MONOTONIC_RAW, ts); +#elif defined(CONFIG_CLOCK_MONOTONIC) return clock_gettime(CLOCK_MONOTONIC, ts); #else return clock_gettime(CLOCK_REALTIME, ts);