[PATCH] Removed CLOCK_MONOTONIC_COARSE support
Maxim Dounin
mdounin at mdounin.ru
Mon Oct 11 18:53:33 UTC 2021
# HG changeset patch
# User Maxim Dounin <mdounin at mdounin.ru>
# Date 1633978301 -10800
# Mon Oct 11 21:51:41 2021 +0300
# Node ID 3217b92006f8807d16134246a064baab64fa7b32
# Parent ae7c767aa491fa55d3168dfc028a22f43ac8cf89
Removed CLOCK_MONOTONIC_COARSE support.
While clock_gettime(CLOCK_MONOTONIC_COARSE) is faster than
clock_gettime(CLOCK_MONOTONIC), the latter is fast enough on Linux for
practical usage, and the difference is negligible compared to other costs
at each event loop iteration. On the other hand, CLOCK_MONOTONIC_COARSE
causes various issues with typical CONFIG_HZ=250, notably very inacurate
limit_rate handling in some edge cases (ticket #1678) and negative difference
between $request_time and $upstream_response_time (ticket #1965).
diff --git a/src/core/ngx_times.c b/src/core/ngx_times.c
--- a/src/core/ngx_times.c
+++ b/src/core/ngx_times.c
@@ -200,10 +200,6 @@ ngx_monotonic_time(time_t sec, ngx_uint_
#if defined(CLOCK_MONOTONIC_FAST)
clock_gettime(CLOCK_MONOTONIC_FAST, &ts);
-
-#elif defined(CLOCK_MONOTONIC_COARSE)
- clock_gettime(CLOCK_MONOTONIC_COARSE, &ts);
-
#else
clock_gettime(CLOCK_MONOTONIC, &ts);
#endif
More information about the nginx-devel
mailing list