From f893b76d5745811033f056ae4d4efe4f571452bd Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Mon, 15 Dec 2014 19:54:57 -0700 Subject: [PATCH] backend: use monotonic clock for ETA, if we have it Signed-off-by: Jens Axboe --- backend.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend.c b/backend.c index f1def38b..3df0133f 100644 --- a/backend.c +++ b/backend.c @@ -2104,11 +2104,19 @@ static void *helper_thread_main(void *data) uint64_t sec = DISK_UTIL_MSEC / 1000; uint64_t nsec = (DISK_UTIL_MSEC % 1000) * 1000000; struct timespec ts; + +#if defined(CONFIG_CLOCK_MONOTONIC) + clock_gettime(CLOCK_MONOTONIC, &ts); + ts.tv_sec += sec; + ts.tv_nsec += nsec; +#else struct timeval tv; gettimeofday(&tv, NULL); ts.tv_sec = tv.tv_sec + sec; ts.tv_nsec = (tv.tv_usec * 1000) + nsec; +#endif + if (ts.tv_nsec >= 1000000000ULL) { ts.tv_nsec -= 1000000000ULL; ts.tv_sec++; -- 2.25.1