bind9/tests
Ondřej Surý 086b63f56d Use isc_queue to implement wait-free deadnodes queue
Replace the ISC_LIST based deadnodes implementation with isc_queue which
is wait-free and we don't have to acquire neither the tree nor node lock
to append nodes to the queue and the cleaning process can also
copy (splice) the list into a local copy without acquiring the list.

Currently, there's little benefit to this as we need to hold those
locks anyway, but in the future as we move to RCU based implementation,
this will be ready.

To align the cleaning with our event loop based model, remove the
hardcoded count for the node locks and use the number of the event loops
instead.  This way, each event loop can have its own cleaning as part of
the process.  Use uniform random numbers to spread the nodes evenly
between the buckets (instead of hashing the domain name).
2024-06-05 09:19:56 +02:00
..
bench use a thread-local variable to get the current running loop 2024-04-02 10:35:56 +02:00
dns Use isc_queue to implement wait-free deadnodes queue 2024-06-05 09:19:56 +02:00
include/tests Clang-format header file changes 2024-05-17 16:03:21 -07:00
irs Include <inttypes.h> whenever including <cmocka.h> 2023-05-18 15:12:23 +02:00
isc complete removal of isc_loop_current() 2024-04-02 10:35:56 +02:00
isccfg Include <inttypes.h> whenever including <cmocka.h> 2023-05-18 15:12:23 +02:00
libtest Pass a memory context in to dns_cache_create 2024-05-31 15:40:32 +10:00
ns Change dns_message_create() function to accept memory pools 2023-09-24 18:07:40 +02:00
.gitignore Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
Makefile.am Build libtest even if CMOCKA is not available 2023-03-29 02:29:18 +00:00
unit-test-driver.sh.in Reformat shell scripts with shfmt 2023-10-26 10:23:50 +02:00