summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@redhat.com>2022-04-03 12:47:17 -0400
committerFrank Ch. Eigler <fche@redhat.com>2022-04-03 12:47:17 -0400
commite646e363e72e06e0ed5574c929236d815ddcbbaf (patch)
tree98084e89891ccb584ab2f616ae087d89d187f7e1
parente3e2ae06fbfcd1b2f3de6945689ef9d9c94a2123 (diff)
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 <fche@redhat.com>
-rw-r--r--debuginfod/ChangeLog5
-rw-r--r--debuginfod/debuginfod.cxx6
2 files changed, 11 insertions, 0 deletions
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 <fche@redhat.com>
+
+ * debuginfod.cxx (main): Use MHD_USE_EPOLL for libmicrohttpd, to
+ encourage more round-robin dispatch of incoming connections.
+
2021-12-09 Alexander Kanavin <alex@linutronix.de>
* 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
@@ -3881,6 +3881,9 @@ main (int argc, char *argv[])
#else
| MHD_USE_SELECT_INTERNALLY
#endif
+#ifdef MHD_USE_EPOLL
+ | MHD_USE_EPOLL
+#endif
| MHD_USE_DEBUG, /* report errors to stderr */
http_port,
NULL, NULL, /* default accept policy */
@@ -3895,6 +3898,9 @@ main (int argc, char *argv[])
#else
| MHD_USE_SELECT_INTERNALLY
#endif
+#ifdef MHD_USE_EPOLL
+ | MHD_USE_EPOLL
+#endif
| MHD_USE_IPv6
| MHD_USE_DEBUG, /* report errors to stderr */
http_port,