]> git.ipfire.org Git - thirdparty/bind9.git/commit
DoH: Limit the number of delayed IO processing requests
authorArtem Boldariev <artem@boldariev.com>
Mon, 24 Feb 2025 16:32:23 +0000 (18:32 +0200)
committerArtem Boldariev <artem@boldariev.com>
Mon, 3 Mar 2025 10:06:44 +0000 (12:06 +0200)
commitb4e8089694bfb39d9c69b8c78eda712953dfea20
treee8473631ad99e0efad1a443f4d1ff36e8c79c4b7
parente525029b896e88931c832e0614f7bbd1415a4db3
DoH: Limit the number of delayed IO processing requests

Previously, a function for continuing IO processing on the next UV
tick was introduced (http_do_bio_async()). The intention behind this
function was to ensure that http_do_bio() is eventually called at
least once in the future. However, the current implementation allows
queueing multiple such delayed requests needlessly. There is currently
no need for these excessive requests as http_do_bio() can requeue them
if needed. At the same time, each such request can lead to a memory
allocation, particularly in BIND 9.18.

This commit ensures that the number of enqueued delayed IO processing
requests never exceeds one in order to avoid potentially bombarding IO
threads with the delayed requests needlessly.

(cherry picked from commit 0e1b02868a63d2c4f6f0c414b20d4b999adbcc46)
lib/isc/netmgr/http.c