static unsigned long cycles_per_usec;
static unsigned long inv_cycles_per_usec;
static uint64_t max_cycles_for_mult;
+#endif
+#ifdef ARCH_CPU_CLOCK_WRAPS
static unsigned long long cycles_start, cycles_wrap;
#endif
int tsc_reliable = 0;
#endif
t = get_cpu_clock();
+#ifdef ARCH_CPU_CLOCK_WRAPS
if (t < cycles_start && !cycles_wrap)
cycles_wrap = 1;
else if (cycles_wrap && t >= cycles_start && !tv->warned) {
}
t -= cycles_start;
+#endif
tv->last_cycles = t;
tv->last_tv_valid = 1;
#ifdef ARCH_CPU_CLOCK_CYCLES_PER_USEC
inv_cycles_per_usec = 16777216UL / cycles_per_usec;
max_cycles_for_mult = ~0ULL / inv_cycles_per_usec;
dprint(FD_TIME, "inv_cycles_per_usec=%lu\n", inv_cycles_per_usec);
+#ifdef ARCH_CPU_CLOCK_WRAPS
cycles_start = get_cpu_clock();
dprint(FD_TIME, "cycles_start=%llu\n", cycles_start);
+#endif
return 0;
}
#else
int i;
if (fio_cpuset_init(&cpu_mask)) {
- int __err;
+ int __err = errno;
log_err("clock cpuset init failed: %s\n", strerror(__err));
goto err_out;
if (!t->entries[i - 1].tsc && !t->entries[0].tsc)
goto err;
+ fio_cpuset_exit(&cpu_mask);
return NULL;
err:
fio_cpuset_exit(&cpu_mask);