From 32b7365c7a26f0ae0520a433e5d09e2199d0e473 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Thu, 12 Jan 2023 15:55:32 +0100 Subject: [PATCH] dnsdist: Use smaller event buffers in our socket multiplexers --- pdns/dnsdist-tcp.cc | 2 +- pdns/dnsdist.cc | 4 ++-- pdns/dnsdistdist/dnsdist-backend.cc | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pdns/dnsdist-tcp.cc b/pdns/dnsdist-tcp.cc index fbb04c2d82..4ef1d10e20 100644 --- a/pdns/dnsdist-tcp.cc +++ b/pdns/dnsdist-tcp.cc @@ -1486,7 +1486,7 @@ void tcpAcceptorThread(std::vector states) acceptNewConnection(*acceptorParam, nullptr); }; - auto mplexer = std::unique_ptr(FDMultiplexer::getMultiplexerSilent()); + auto mplexer = std::unique_ptr(FDMultiplexer::getMultiplexerSilent(params.size())); for (size_t idx = 0; idx < params.size(); idx++) { const auto& param = params.at(idx); mplexer->addReadFD(param.socket, acceptCallback, ¶m); diff --git a/pdns/dnsdist.cc b/pdns/dnsdist.cc index 9f76591b5a..affd6632b6 100644 --- a/pdns/dnsdist.cc +++ b/pdns/dnsdist.cc @@ -1807,7 +1807,7 @@ static void udpClientThread(std::vector states) usleep(1000); } }; - auto mplexer = std::unique_ptr(FDMultiplexer::getMultiplexerSilent()); + auto mplexer = std::unique_ptr(FDMultiplexer::getMultiplexerSilent(params.size())); for (size_t idx = 0; idx < params.size(); idx++) { const auto& param = params.at(idx); mplexer->addReadFD(param.socket, callback, ¶m); @@ -1959,7 +1959,7 @@ static void healthChecksThread() } if (!mplexer) { - mplexer = std::unique_ptr(FDMultiplexer::getMultiplexerSilent()); + mplexer = std::unique_ptr(FDMultiplexer::getMultiplexerSilent(states->size())); } if (!queueHealthCheck(mplexer, dss)) { diff --git a/pdns/dnsdistdist/dnsdist-backend.cc b/pdns/dnsdistdist/dnsdist-backend.cc index f1183c2e51..35dc76f59c 100644 --- a/pdns/dnsdistdist/dnsdist-backend.cc +++ b/pdns/dnsdistdist/dnsdist-backend.cc @@ -259,7 +259,7 @@ void DownstreamState::connectUDPSockets() sockets.resize(d_config.d_numberOfSockets); if (sockets.size() > 1) { - *(mplexer.lock()) = std::unique_ptr(FDMultiplexer::getMultiplexerSilent()); + *(mplexer.lock()) = std::unique_ptr(FDMultiplexer::getMultiplexerSilent(sockets.size())); } for (auto& fd : sockets) { -- 2.47.2