]> git.ipfire.org Git - thirdparty/bind9.git/commit
Add option to configure load balance sockets
authorOndřej Surý <ondrej@isc.org>
Fri, 1 Apr 2022 12:43:14 +0000 (14:43 +0200)
committerOndřej Surý <ondrej@isc.org>
Mon, 4 Apr 2022 21:10:04 +0000 (23:10 +0200)
commit85c6e797aa84dfeecb096e7ca3eafb85a5a45f3f
treea492f02bf2c2e5b00f271a54f780d0c591fa3be9
parent38f8716b1c5e9d43d0edcad53ce687d263f7346a
Add option to configure load balance sockets

Previously, the option to enable kernel load balancing of the sockets
was always enabled when supported by the operating system (SO_REUSEPORT
on Linux and SO_REUSEPORT_LB on FreeBSD).

It was reported that in scenarios where the networking threads are also
responsible for processing long-running tasks (like RPZ processing, CATZ
processing or large zone transfers), this could lead to intermitten
brownouts for some clients, because the thread assigned by the operating
system might be busy.  In such scenarious, the overall performance would
be better served by threads competing over the sockets because the idle
threads can pick up the incoming traffic.

Add new configuration option (`load-balance-sockets`) to allow enabling
or disabling the load balancing of the sockets.
16 files changed:
bin/named/config.c
bin/named/named.conf.rst
bin/named/server.c
doc/arm/reference.rst
doc/man/named.conf.5in
doc/misc/options
doc/misc/options.active
doc/misc/options.grammar.rst
lib/isc/include/isc/netmgr.h
lib/isc/netmgr/netmgr-int.h
lib/isc/netmgr/netmgr.c
lib/isc/netmgr/tcp.c
lib/isc/netmgr/tcpdns.c
lib/isc/netmgr/tlsdns.c
lib/isc/netmgr/udp.c
lib/isccfg/namedconf.c