bind9/bin
Ondřej Surý 231b2375e5
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.
2024-03-06 17:11:14 +01:00
..
check deprecate delegation-only and root-delegation only 2023-03-23 14:09:53 -07:00
confgen Put reference to RFC 2845 in tsig-keygen man page 2024-02-01 12:03:42 +01:00
delv Update sources to Clang 15 formatting 2022-11-29 09:14:07 +01:00
dig Print a dig comment about the failed query consistently 2024-01-11 10:30:40 +00:00
dnssec dnssec-keygen man page still says it can do TSIG 2024-02-01 12:03:36 +01:00
named Expose the TCP client count in statistics channel 2024-02-27 11:04:28 +03:00
nsupdate NetBSD has added 'hmac' to libc so rename our uses of hmac 2023-12-14 11:14:04 +11:00
plugins Remove 'inst != NULL' from cleanup check in plugin_register 2023-04-05 10:27:52 +10:00
rndc Document that reloading happens asynchronously 2023-09-26 14:11:30 +10:00
tests Create a second pruning task for rbtdb with unlimited quantum 2024-03-06 17:11:14 +01:00
tools Cleanup dead code in dnstap-read 2023-11-02 10:09:44 +00:00
Makefile.am Remove native PKCS#11 support 2021-09-09 15:35:39 +02:00