[PATCH] Removed CLOCK_MONOTONIC_COARSE support
Maxim Dounin
mdounin at mdounin.ru
Thu Oct 21 15:40:51 UTC 2021
Hello!
On Tue, Oct 19, 2021 at 03:07:24PM +0300, Sergey Kandaurov wrote:
> > On 11 Oct 2021, at 21:53, Maxim Dounin <mdounin at mdounin.ru> wrote:
> >
> > # 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
>
> "inaccurate"
Fixed, thnx.
> > 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
> >
>
> While fast clock is certainly important in general,
> and _COARSE is faster even in userspace clock_gettime(),
> I tend to agree that it has too coarse granularity,
> which causes more harm than good.
Committed, thnx for the review.
--
Maxim Dounin
http://mdounin.ru/
More information about the nginx-devel
mailing list