mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
Use cds_lfht for lock-free hashtables in dns_adb
Replace the read-write locked isc_hashmap with lock-free cds_lfht hashtable and replace the singular LRU tables for ADB names and entries with a per-thread LRU tables. These changes allowed to remove all the read-write locking on the names and entries tables.
This commit is contained in:
712
lib/dns/adb.c
712
lib/dns/adb.c
File diff suppressed because it is too large
Load Diff
@@ -235,7 +235,8 @@ struct dns_adbaddrinfo {
|
||||
****/
|
||||
|
||||
void
|
||||
dns_adb_create(isc_mem_t *mem, dns_view_t *view, dns_adb_t **newadb);
|
||||
dns_adb_create(isc_mem_t *mem, isc_loopmgr_t *loopmgr, dns_view_t *view,
|
||||
dns_adb_t **newadb);
|
||||
/*%<
|
||||
* Create a new ADB.
|
||||
*
|
||||
|
@@ -550,7 +550,7 @@ dns_view_createresolver(dns_view_t *view, isc_nm_t *netmgr,
|
||||
}
|
||||
|
||||
isc_mem_create("ADB", &mctx);
|
||||
dns_adb_create(mctx, view, &view->adb);
|
||||
dns_adb_create(mctx, loopmgr, view, &view->adb);
|
||||
isc_mem_detach(&mctx);
|
||||
|
||||
result = dns_requestmgr_create(view->mctx, loopmgr, view->dispatchmgr,
|
||||
|
Reference in New Issue
Block a user