From e646e363e72e06e0ed5574c929236d815ddcbbaf Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Sun, 3 Apr 2022 12:47:17 -0400 Subject: 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 --- debuginfod/ChangeLog | 5 +++++ debuginfod/debuginfod.cxx | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/debuginfod/ChangeLog b/debuginfod/ChangeLog index dfb5d42e..38a389e7 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 bb8e8e10..99924d36 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 */ -- cgit v1.2.3