bind9/lib/dns/include
Ondřej Surý eed17611d8
Reduce lock contention during RBTDB tree pruning
The log message for commit 24381cc36d
explained:

    In some older BIND 9 branches, the extra queuing overhead eliminated by
    this change could be remotely exploited to cause excessive memory use.
    Due to architectural shift, this branch is not vulnerable to that issue,
    but applying the fix to the latter is nevertheless deemed prudent for
    consistency and to make the code future-proof.

However, it turned out that having a single queue for the nodes to be
pruned increased lock contention to a level where cleaning up nodes from
the RBTDB took too long, causing the amount of memory used by the cache
to grow indefinitely over time.

This commit reverts the change to the pruning mechanism introduced by
commit 24381cc36d as BIND branches newer
than 9.16 were not affected by the excessive event queueing overhead
issue mentioned in the log message for the above commit.
2024-02-29 11:23:03 +01:00
..
dns Reduce lock contention during RBTDB tree pruning 2024-02-29 11:23:03 +01:00
dst BIND 9.19.21 2024-02-14 13:24:56 +01:00
irs Move irs_resconf into libdns and remove libirs 2023-02-24 09:38:59 +00:00
.clang-format Add separate .clang-format files for headers 2020-02-14 09:31:05 +01:00