X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=helper_thread.c;h=b9b83db3057435f6fd2918d84cc3e96bdb7c4252;hb=ef37053efdfb8c3b8b6deef43c0969753e6adb44;hp=d8e7ebfe573ef5531fb2c60d00e87e4cb2127308;hpb=674428a527931d86bfb164abcc847508b3be2742;p=fio.git diff --git a/helper_thread.c b/helper_thread.c index d8e7ebfe..b9b83db3 100644 --- a/helper_thread.c +++ b/helper_thread.c @@ -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;