From: Frank Ch. Eigler Date: Sun, 3 Apr 2022 16:47:17 +0000 (-0400) Subject: PR28708: debuginfod: use MHD_USE_EPOLL for microhttpd threads X-Git-Tag: elfutils-0.187~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e646e363e72e06e0ed5574c929236d815ddcbbaf;p=thirdparty%2Felfutils.git PR28708: debuginfod: use MHD_USE_EPOLL for microhttpd threads Testing on s390x and other architectures indicates that this configuration reduces thundering-herd wakeups and saturation of a small number of threads. The run-debuginfod-webapi-concurrency.sh test appears solid now. Signed-off-by: Frank Ch. Eigler --- diff --git a/debuginfod/ChangeLog b/debuginfod/ChangeLog index dfb5d42ec..38a389e7d 100644 --- a/debuginfod/ChangeLog +++ b/debuginfod/ChangeLog @@ -1,3 +1,8 @@ +2022-04-03 Frank Ch. Eigler + + * debuginfod.cxx (main): Use MHD_USE_EPOLL for libmicrohttpd, to + encourage more round-robin dispatch of incoming connections. + 2021-12-09 Alexander Kanavin * debuginfod-client.c (cache_clean_default_interval_s): Change type to diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx index bb8e8e102..99924d36f 100644 --- a/debuginfod/debuginfod.cxx +++ b/debuginfod/debuginfod.cxx @@ -3880,6 +3880,9 @@ main (int argc, char *argv[]) | MHD_USE_INTERNAL_POLLING_THREAD #else | MHD_USE_SELECT_INTERNALLY +#endif +#ifdef MHD_USE_EPOLL + | MHD_USE_EPOLL #endif | MHD_USE_DEBUG, /* report errors to stderr */ http_port, @@ -3894,6 +3897,9 @@ main (int argc, char *argv[]) | MHD_USE_INTERNAL_POLLING_THREAD #else | MHD_USE_SELECT_INTERNALLY +#endif +#ifdef MHD_USE_EPOLL + | MHD_USE_EPOLL #endif | MHD_USE_IPv6 | MHD_USE_DEBUG, /* report errors to stderr */