]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Use smaller event buffers in our socket multiplexers
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 12 Jan 2023 14:55:32 +0000 (15:55 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 12 Jan 2023 14:55:32 +0000 (15:55 +0100)
pdns/dnsdist-tcp.cc
pdns/dnsdist.cc
pdns/dnsdistdist/dnsdist-backend.cc

index fbb04c2d82dda1d91e82b109b2053e29a704036b..4ef1d10e203aa4114e5efcddcf6f2c266136968f 100644 (file)
@@ -1486,7 +1486,7 @@ void tcpAcceptorThread(std::vector<ClientState*> states)
       acceptNewConnection(*acceptorParam, nullptr);
     };
 
-    auto mplexer = std::unique_ptr<FDMultiplexer>(FDMultiplexer::getMultiplexerSilent());
+    auto mplexer = std::unique_ptr<FDMultiplexer>(FDMultiplexer::getMultiplexerSilent(params.size()));
     for (size_t idx = 0; idx < params.size(); idx++) {
       const auto& param = params.at(idx);
       mplexer->addReadFD(param.socket, acceptCallback, &param);
index 9f76591b5a27a609d94fe0073f2dbf69c21988b2..affd6632b695a53fccb2caa97e4c6461714f6f6e 100644 (file)
@@ -1807,7 +1807,7 @@ static void udpClientThread(std::vector<ClientState*> states)
             usleep(1000);
           }
         };
-        auto mplexer = std::unique_ptr<FDMultiplexer>(FDMultiplexer::getMultiplexerSilent());
+        auto mplexer = std::unique_ptr<FDMultiplexer>(FDMultiplexer::getMultiplexerSilent(params.size()));
         for (size_t idx = 0; idx < params.size(); idx++) {
           const auto& param = params.at(idx);
           mplexer->addReadFD(param.socket, callback, &param);
@@ -1959,7 +1959,7 @@ static void healthChecksThread()
       }
 
       if (!mplexer) {
-        mplexer = std::unique_ptr<FDMultiplexer>(FDMultiplexer::getMultiplexerSilent());
+        mplexer = std::unique_ptr<FDMultiplexer>(FDMultiplexer::getMultiplexerSilent(states->size()));
       }
 
       if (!queueHealthCheck(mplexer, dss)) {
index f1183c2e5160bd6342124a0093a4d8ab1b5d28a2..35dc76f59ce0826379d8c6f313f1086f6c5fbcb9 100644 (file)
@@ -259,7 +259,7 @@ void DownstreamState::connectUDPSockets()
   sockets.resize(d_config.d_numberOfSockets);
 
   if (sockets.size() > 1) {
-    *(mplexer.lock()) = std::unique_ptr<FDMultiplexer>(FDMultiplexer::getMultiplexerSilent());
+    *(mplexer.lock()) = std::unique_ptr<FDMultiplexer>(FDMultiplexer::getMultiplexerSilent(sockets.size()));
   }
 
   for (auto& fd : sockets) {