]> git.ipfire.org Git - thirdparty/bind9.git/commit
chg: dev: Remove opportunistic node cleaning from qpzone
authorAlessio Podda <alessio@isc.org>
Tue, 19 Aug 2025 13:00:47 +0000 (13:00 +0000)
committerAlessio Podda <alessio@isc.org>
Tue, 19 Aug 2025 13:00:47 +0000 (13:00 +0000)
commit3a84604e232ab6123258fc6a0a526d77ffddd587
tree7250ab7ba17710d23f7f4889aa70aca76c7bdb1d
parent87dfd96743c85ded2533b2306dbf48740f19785e
parent954b527383bdb54128db26cd45eab63099ff4424
chg: dev: Remove opportunistic node cleaning from qpzone

Currently, when releasing a qpznode after a read operation, we will
check if the node is dirty due to a previous write, upgrade the lock to
a write lock and perform a cleanup.

An unintended side effect of this is that protecting a node by
increasing the reference count must also protect its parent database.
For the very common case where only one zone is configured, this is a
non-trivial source of contention, as the same refcount will be hit by
all threads.

This MR removes the opportunistic cleaning and the database
refcount, reducing contention. Cleaning will be done only on
closeversion.

Merge branch 'alessio/remove-opportunistic-node-cleaning' into 'main'

See merge request isc-projects/bind9!10814