nvme: add nvme opcodes, structures and helper functions
[fio.git] / helper_thread.c
index 2d553654c0814d29bc76a4038d97d547e5558adc..b9b83db3057435f6fd2918d84cc3e96bdb7c4252 100644 (file)
@@ -9,6 +9,10 @@
 #define DRD_IGNORE_VAR(x) do { } while (0)
 #endif
 
+#ifdef WIN32
+#include "os/os-windows.h"
+#endif
+
 #include "fio.h"
 #include "smalloc.h"
 #include "helper_thread.h"
@@ -283,19 +287,12 @@ static void *helper_thread_main(void *data)
                }
        };
        struct timespec ts;
-       int clk_tck, ret = 0;
+       long clk_tck;
+       int ret = 0;
 
-#ifdef _SC_CLK_TCK
-       clk_tck = sysconf(_SC_CLK_TCK);
-#else
-       /*
-        * The timer frequence is variable on Windows. Instead of trying to
-        * query it, use 64 Hz, the clock frequency lower bound. See also
-        * https://carpediemsystems.co.uk/2019/07/18/windows-system-timer-granularity/.
-        */
-       clk_tck = 64;
-#endif
-       dprint(FD_HELPERTHREAD, "clk_tck = %d\n", clk_tck);
+       os_clk_tck(&clk_tck);
+
+       dprint(FD_HELPERTHREAD, "clk_tck = %ld\n", clk_tck);
        assert(clk_tck > 0);
        sleep_accuracy_ms = (1000 + clk_tck - 1) / clk_tck;
 
@@ -311,7 +308,7 @@ static void *helper_thread_main(void *data)
        block_signals();
 
        fio_get_mono_time(&ts);
-       msec_to_next_event = reset_timers(timer, ARRAY_SIZE(timer), &ts);
+       msec_to_next_event = reset_timers(timer, FIO_ARRAY_SIZE(timer), &ts);
 
        fio_sem_up(hd->startup_sem);
 
@@ -329,9 +326,9 @@ static void *helper_thread_main(void *data)
 
                if (action == A_RESET)
                        msec_to_next_event = reset_timers(timer,
-                                               ARRAY_SIZE(timer), &ts);
+                                               FIO_ARRAY_SIZE(timer), &ts);
 
-               for (i = 0; i < ARRAY_SIZE(timer); ++i)
+               for (i = 0; i < FIO_ARRAY_SIZE(timer); ++i)
                        ret = eval_timer(&timer[i], &ts, &msec_to_next_event);
 
                if (action == A_DO_STAT)