]> git.ipfire.org Git - thirdparty/bind9.git/commit
Run the RPZ update as offloaded work
authorOndřej Surý <ondrej@isc.org>
Mon, 7 Mar 2022 12:55:03 +0000 (13:55 +0100)
committerAram Sargsyan <aram@isc.org>
Mon, 13 Feb 2023 11:41:52 +0000 (11:41 +0000)
commit6873cc1c79108e60eabcb37ba31ac3fb0dc7dc0e
treea4a966c060918fb07a912d0b59ca70ba88fdd305
parentbb6029db648b1d1642f36510406074808251b383
Run the RPZ update as offloaded work

Previously, the RPZ updates ran quantized on the main nm_worker loops.
As the quantum was set to 1024, this might lead to service
interruptions when large RPZ update was processed.

Change the RPZ update process to run as the offloaded work.  The update
and cleanup loops were refactored to do as little locking of the
maintenance lock as possible for the shortest periods of time and the db
iterator is being paused for every iteration, so we don't hold the rbtdb
tree lock for prolonged periods of time.

(cherry picked from commit f106d0ed2b8f3b3fa78b831879c1533a0d3ec171)
lib/dns/include/dns/rpz.h
lib/dns/rpz.c
lib/isc/include/isc/util.h