From: Artem Boldariev Date: Mon, 3 Mar 2025 10:10:33 +0000 (+0000) Subject: fix: dev: Post [CVE-2024-12705] Performance Drop Fixes, Part 2 X-Git-Tag: ondrej/lock-free-qpzone-reads-v1~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c8104daf8deba370630c197d7d9b63da4010843e;p=thirdparty%2Fbind9.git fix: dev: Post [CVE-2024-12705] Performance Drop Fixes, Part 2 This merge request addresses several key performance bottlenecks in the DoH (DNS over HTTPS) implementation by introducing significant optimizations and improvements. ### Key Improvements 1. **Simplification and Optimisation of `http_do_bio()` Function**: - The code flow in the `http_do_bio()` function has been significantly simplified. 2. **Flushing HTTP Write Buffer on Outgoing DNS Messages**: - The buffer is flushed and a send operation is performed when there is an outgoing DNS message. 3. **Bumping Active Streams Processing Limit**: - The total number of active streams has been increased to 60% of the total streams limit. These changes collectively enhance the performance and reliability of the DoH implementation, making it more efficient and robust for handling high-load scenarios, particularly noticeable in long runs (>= 1h) of `stress:long:rpz:doh+udp:linux:*` tests. It improves perf. for tests for BIND 9.18, but it likely will have a positive but less pronounced effect on newer versions as well. In essence, the merge request fixes three bottlenecks stacked upon each other. *It is a logical continuation of the merge requests !10109.* !10109, unfortunately, did not completely [address the performance drop in 9.18](https://gitlab.isc.org/isc-projects/bind9/-/pipelines/221545) for longer runs of the stress test. This merge request [addresses that](https://gitlab.isc.org/isc-projects/bind9/-/pipelines/223661). **P.S.** The origin of the fixes is, in fact, the branch in !10193. So this MR is a ... *forward port* of them. Merge branch 'artem-doh-performance-drop-post-fix' into 'main' See merge request isc-projects/bind9!10192 --- c8104daf8deba370630c197d7d9b63da4010843e