From 0bf7014f8545a2a19de2f0ceed38c65be03cc95d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 8 Nov 2022 12:46:50 +0100 Subject: [PATCH 1/3] Remove the last remnants of --with-tuning=large The small/large tuning has been completely removed from the code with last remnant of the dead code in ns_interfacemgr. Remove the dead code and the configure option. --- configure.ac | 16 ---------------- lib/ns/interfacemgr.c | 6 ------ 2 files changed, 22 deletions(-) diff --git a/configure.ac b/configure.ac index 0d92d3d081..78e46903cc 100644 --- a/configure.ac +++ b/configure.ac @@ -1407,20 +1407,6 @@ AC_ARG_ENABLE([leak-detection], AS_CASE([$enable_leak_detection], [yes],[AC_DEFINE([ENABLE_LEAK_DETECTION], [1], [Define to enable memory leak detection in external libraries])]) -# -# was --with-tuning specified? -# -# [pairwise: --with-tuning=small, --without-tuning] -AC_ARG_WITH([tuning], - AS_HELP_STRING([--with-tuning=ARG], - [Specify server tuning (default or small)]), - [],[with_tuning=no]) - -AS_CASE([$with_tuning], - [small],[AC_MSG_NOTICE(using small system tuning)], - [AC_DEFINE(TUNE_LARGE, 1, [Define to use default system tuning.]) - AC_MSG_NOTICE(using default system tuning)]) - # # was --enable-querytrace or --enable-singletrace specified? # @@ -1674,7 +1660,6 @@ report() { if test "yes" = "$enable_full_report" -o "standard" = "$with_locktype"; then echo " Mutex lock type: $with_locktype" fi - test "small" = "$with_tuning" && echo " Small-system tuning (--with-tuning)" test "no" = "$enable_dnstap" || \ echo " Allow 'dnstap' packet logging (--enable-dnstap)" test -z "$MAXMINDDB_LIBS" || echo " GeoIP2 access control (--enable-geoip)" @@ -1719,7 +1704,6 @@ report() { echo " +------------------------------------------+" echo fi - test "small" = "$with_tuning" || echo " Small-system tuning (--with-tuning)" test "no" = "$enable_dnstap" && \ echo " Allow 'dnstap' packet logging (--enable-dnstap)" diff --git a/lib/ns/interfacemgr.c b/lib/ns/interfacemgr.c index dce611b92d..fcec91e489 100644 --- a/lib/ns/interfacemgr.c +++ b/lib/ns/interfacemgr.c @@ -56,12 +56,6 @@ #define LISTENING(ifp) (((ifp)->flags & NS_INTERFACEFLAG_LISTENING) != 0) -#ifdef TUNE_LARGE -#define UDPBUFFERS 32768 -#else /* ifdef TUNE_LARGE */ -#define UDPBUFFERS 1000 -#endif /* TUNE_LARGE */ - #define IFMGR_MAGIC ISC_MAGIC('I', 'F', 'M', 'G') #define NS_INTERFACEMGR_VALID(t) ISC_MAGIC_VALID(t, IFMGR_MAGIC) From 76725718f44b4b336d440519b1ff00bf05f65a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Fri, 11 Nov 2022 16:39:35 +0100 Subject: [PATCH 2/3] Update the build requirements in the ARM The build requirements have been updated to state that libcap is now required on Linux and removed mention of --with-tuning configure option. --- doc/arm/build.inc.rst | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/doc/arm/build.inc.rst b/doc/arm/build.inc.rst index 8971bc4c20..7239b1a3c9 100644 --- a/doc/arm/build.inc.rst +++ b/doc/arm/build.inc.rst @@ -71,6 +71,12 @@ in a nonstandard location, specify the prefix using PKCS#11 hardware service module for cryptographic operations, ``engine_pkcs11`` from the OpenSC project must be compiled and used. +On Linux, process capabilities are managed in user space using the +``libcap`` library +(https://git.kernel.org/pub/scm/libs/libcap/libcap.git/), which can be +installed on most Linux systems via the ``libcap-dev`` or +``libcap-devel`` package. + To build BIND from the git repository, the following tools must also be installed: @@ -132,19 +138,6 @@ installed. If these are installed at a nonstandard location, adjust ``PKG_CONFIG_PATH``. ``readline`` is used by default, and ``libedit`` can be explicitly requested using ``--with-readline=libedit``. -Certain compiled-in constants and default settings can be decreased to -values better suited to small machines, e.g. OpenWRT boxes, by -specifying ``--with-tuning=small`` on the ``configure`` command line. -This decreases memory usage by using smaller structures, but degrades -performance. - -On Linux, process capabilities are managed in user space using the -``libcap`` library -(https://git.kernel.org/pub/scm/libs/libcap/libcap.git/), which can be -installed on most Linux systems via the ``libcap-dev`` or -``libcap-devel`` package. Process capability support can also be -disabled by configuring with ``--disable-linux-caps``. - On some platforms it is necessary to explicitly request large file support to handle files bigger than 2GB. This can be done by using ``--enable-largefile`` on the ``configure`` command line. From 24bda93ddee134018bed95be0ddae868eeb0f344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 8 Nov 2022 12:54:03 +0100 Subject: [PATCH 3/3] Add CHANGES and release note for [GL #3664] --- CHANGES | 3 +++ doc/notes/notes-current.rst | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 4d73a73b37..a330afad00 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +6018. [cleanup] Remove the --with-tuning configure option. + [GL #3664] + 6017. [bug] The view's zone table was not locked when it should have been leading to race conditions when external extensions that manipulate the zone table where in diff --git a/doc/notes/notes-current.rst b/doc/notes/notes-current.rst index d4c9bb2ad6..8af2593e3e 100644 --- a/doc/notes/notes-current.rst +++ b/doc/notes/notes-current.rst @@ -30,8 +30,9 @@ Removed Features Feature Changes ~~~~~~~~~~~~~~~ -- The NSEC3PARAM TTL was previously set to 0 and is now changed to be the same - value as in the SOA MINIMUM field. :gl:`#3570` +- A ``configure`` option ``--with-tuning`` has been removed. The compile-time + settings that required different values based on "workload" have been either + removed or a sensible default has been picked. :gl:`#3664` Bug Fixes ~~~~~~~~~