+ return tunit / CALIBRATE_SCALE;
+}
+
+static void free_cpu_affinity(struct idle_prof_thread *ipt)
+{
+#if defined(FIO_HAVE_CPU_AFFINITY)
+ fio_cpuset_exit(&ipt->cpu_mask);
+#endif
+}
+
+static int set_cpu_affinity(struct idle_prof_thread *ipt)
+{
+#if defined(FIO_HAVE_CPU_AFFINITY)
+ if (fio_cpuset_init(&ipt->cpu_mask)) {
+ log_err("fio: cpuset init failed\n");
+ return -1;
+ }
+
+ fio_cpu_set(&ipt->cpu_mask, ipt->cpu);
+
+ if (fio_setaffinity(gettid(), ipt->cpu_mask)) {
+ log_err("fio: fio_setaffinity failed\n");
+ fio_cpuset_exit(&ipt->cpu_mask);
+ return -1;
+ }
+
+ return 0;
+#else
+ log_err("fio: fio_setaffinity not supported\n");
+ return -1;
+#endif