bind9/tests/dns
Ondřej Surý ddd5586a51
Make isc_mem_isovermem() probabilistic
Replace the hysteretic hi_water/lo_water switch with a stochastic
check: always false below lo_water, always true at or above hi_water,
linearly ramped probability in between.  This spreads cache cleaning
across many inserts instead of triggering a thundering herd once the
hi_water mark is crossed (which causes every addrdataset to enter the
LRU purge path simultaneously and serializes lookups behind the node
write locks).

The is_overmem atomic and its stores are no longer needed and are
removed.  The existing tests that asserted specific hysteretic state
transitions are simplified to check only the deterministic boundaries.

(cherry picked from commit ee24d2a1c3361dcc1c48fb29bb2e0b91bc3405e8)
2026-05-07 13:09:18 +02:00
..
comparekeys Remove TKEY Mode 2 (Diffie-Hellman) 2023-03-08 08:36:25 +01:00
testdata Move resconf_test.c to tests/dns and cleanup 2024-12-12 22:50:22 +00:00
testkeys Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
.gitignore Remove test.skr unit test file 2024-09-09 17:42:05 +00:00
acl_test.c Refactor dns_{acl,aclenv}_create to return void 2023-10-13 14:44:40 +02:00
badcache_test.c Improve the badcache cleaning by adding LRU and using RCU 2024-11-27 17:07:03 +00:00
db_test.c Support compilation with cmocka 2.0.0+ 2026-01-07 11:17:42 +01:00
dbdiff_test.c Include <inttypes.h> whenever including <cmocka.h> 2023-05-18 15:12:23 +02:00
dbiterator_test.c Implement dns_dbiterator_seek3 2025-12-11 13:53:25 +01:00
dbversion_test.c qpzone find() function could set foundname incorrectly 2025-03-17 09:27:09 +00:00
diff_test.c Import isc/list.h after cmocka to avoid redefinition errors 2025-07-29 14:07:05 +02:00
dispatch_test.c Implement seamless TCP connection reuse in dns_dispatch 2026-05-06 15:05:48 +02:00
dns64_test.c Include <inttypes.h> whenever including <cmocka.h> 2023-05-18 15:12:23 +02:00
dnstap_test.c Convert dns_dtenv_t reference counting to standard macors 2026-03-18 17:04:56 +00:00
dst_test.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
ede_test.c Support compilation with cmocka 2.0.0+ 2026-01-07 11:17:42 +01:00
geoip_test.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
Kdh.+002+18602.key Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
keytable_test.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
Krsa.+008+29238.key Check if RSASHA1 is supported by the OS 2022-08-09 16:22:19 +02:00
Makefile.am Move resconf_test.c to tests/dns and cleanup 2024-12-12 22:50:22 +00:00
master_test.c Fix formatting 2026-02-02 10:32:38 +01:00
mkraw.pl Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
name_test.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
nametree_test.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
nsec3_test.c Change max NSEC3 iterations in unit tests to 50 2023-12-05 14:58:58 +00:00
nsec3param_test.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
private_test.c Preserve brackets around string concatenation 2025-06-25 13:26:13 +10:00
qp_test.c Support compilation with cmocka 2.0.0+ 2026-01-07 11:17:42 +01:00
qpdb_test.c Make isc_mem_isovermem() probabilistic 2026-05-07 13:09:18 +02:00
qpmulti_test.c Fix dns_qpmulti_memusage() on empty dns_qpmulti_t instance 2025-09-17 14:01:44 +02:00
qpzone_test.c Fix formatting 2026-02-02 10:32:38 +01:00
rbt_test.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rdata_test.c Test the ability to walk the iterators multiple times 2026-03-27 12:45:25 +00:00
rdataset_test.c Include <inttypes.h> whenever including <cmocka.h> 2023-05-18 15:12:23 +02:00
rdatasetstats_test.c Refactor isc_stats_create() and its downstream users to return void 2023-07-27 11:37:44 +02:00
resconf_test.c Move resconf_test.c to tests/dns and cleanup 2024-12-12 22:50:22 +00:00
resolver_test.c Support compilation with cmocka 2.0.0+ 2026-01-07 11:17:42 +01:00
rsa_test.c Reject RSA DNSKEYs with oversize public exponents at parse time 2026-04-30 13:16:30 +02:00
sigs_test.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
skr_test.c Fix dnssec-keygen key collision checking for KEY rrtype keys 2025-10-22 12:55:41 +11:00
time_test.c Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
tsig_test.c Fix and call tsig_badsig unit test 2026-01-24 07:29:59 +11:00
update_test.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
zonemgr_test.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
zt_test.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00