mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-22 01:59:26 +00:00
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 commit removes the opportunistic cleaning and the database refcount, reducing contention. Cleaning will be done only on closeversion.