bind9/bin/tests
Ondřej Surý eba7fb5f9f
Create a second pruning task for rbtdb with unlimited quantum
Previously, rbtdb->task had quantum of 1 because it was originally used
just for freeing RBTDB contents, which can happen on a "best effort"
basis (does not need to be prioritized).  However, when tree pruning was
implemented, it also started sending events to that task, enabling the
latter to become clogged up with a significant event backlog because it
only pruned a single RBTDB node per event.

To prioritize tree pruning (as it is necessary for enforcing the
configured memory use limit for the cache memory context), create a
second task with a virtually unlimited quantum (UINT_MAX) and send the
tree-pruning events to this new task, to ensure that all nodes scheduled
for pruning will be processed before further nodes are queued in a
similar fashion.

This change enables dropping the prunenodes list and restoring the
originally-used logic that allocates and sends a separate event for each
node to prune.

(cherry picked from commit 540a5b5a2c)
2024-03-06 19:17:32 +01:00
..
bigtest Update the copyright information in all files in the repository 2022-01-11 12:22:09 +01:00
optional Update sources to Clang 16 formatting 2023-05-11 14:26:14 +02:00
pkcs11 Add couple missing braces around single-line statements 2022-03-17 18:31:36 +01:00
startperf Update the copyright information in all files in the repository 2022-01-11 12:22:09 +01:00
system Create a second pruning task for rbtdb with unlimited quantum 2024-03-06 19:17:32 +01:00
testdata/wire move all optional tests from bin/tests to bin/tests/optional 2018-03-09 14:12:47 -08:00
win32 Add libssl libraries to Windows build 2020-12-09 10:46:16 +01:00
.gitignore Remove genrandom command and all usage of specific random files throughout the system test suite 2018-05-16 09:54:35 +02:00
cfg_test.c Update sources to Clang 15 formatting 2022-11-29 10:30:34 +01:00
headerdep_test.sh.in Update the copyright information in all files in the repository 2022-01-11 12:22:09 +01:00
Makefile.in Update the copyright information in all files in the repository 2022-01-11 12:22:09 +01:00
makejournal.c Update the copyright information in all files in the repository 2022-01-11 12:22:09 +01:00
named.conf Update the copyright information in all files in the repository 2022-01-11 12:22:09 +01:00
prepare-softhsm2.sh Update the copyright information in all files in the repository 2022-01-11 12:22:09 +01:00
wire_test.c Adjust message buffer sizes in test code 2023-12-06 09:06:31 +11:00