]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
chg: dev: Rework isc_work as per-loop, per-lane cancelable worker threads
authorOndřej Surý <ondrej@isc.org>
Wed, 17 Jun 2026 17:07:21 +0000 (19:07 +0200)
committerOndřej Surý <ondrej@isc.org>
Wed, 17 Jun 2026 17:07:21 +0000 (19:07 +0200)
Fold the libuv thread pool and the per-loop isc_helper threads into a single
isc_work pool. Each (loop, lane) gets its own SPSC queue and worker, which drops
the shared-queue contention, and the FAST/SLOW lanes keep short crypto tasks off
the long blocking ones (zone dump/load, xfrin). isc_work jobs are now cancelable:
isc_work_cancel() tombstones a still-queued job and its after_cb fires with
ISC_R_CANCELED, so abandoned work can be dropped instead of run to completion.

Merge branch 'ondrej/rewrite-threadpool' into 'main'

See merge request isc-projects/bind9!12226


Trivial merge