Evan Hunt and Witold Kręcicki
780de22d9f
rename isc_faaa_queue to isc_queue
2019-11-05 12:54:45 +01:00
Evan Hunt and Witold Kręcicki
f6e42f7e81
Style fixes
2019-11-05 12:54:45 +01:00
Evan Hunt and Witold Kręcicki
48b4576318
remove the clienmgr->inactive queue, and the ISC_QUEUE data structure
2019-11-05 12:54:45 +01:00
Witold Kręcicki
f393756c70
netmgr experiment: constant-sized stack for handle/uvreq reuse
2019-11-05 12:54:45 +01:00
Evan Hunt and Witold Kręcicki
5eb96c2f90
remove an extra call to isc_nmhandle_detach()
2019-11-05 12:54:45 +01:00
Evan Hunt and Witold Kręcicki
e91e8f0e2a
Style fixes
2019-11-05 12:54:45 +01:00
Witold Kręcicki
2ab3e753a2
netmgr: Verify that we're not going below 0 with reference counter
2019-11-05 12:54:44 +01:00
Witold Kręcicki
356c73d2da
Free all extra data in ns_client_t in client_put_cb
2019-11-05 12:54:44 +01:00
Witold Kręcicki
2324d5c569
Fix isc_nm_pause - it was counting paused workers incorrectly
2019-11-05 12:54:44 +01:00
Evan Hunt and Witold Kręcicki
97c11c43b9
fix reference counting in ns_client and ns_clientmgr
...
- add reference counters to manager; all client objects attach and
detach from the manager
- ensure that when a client object is detached, if references have gone
to zero, the associated nmhandle object is detached. this should
trigger the freeing of both the nmhandle object and the client object
2019-11-05 12:54:44 +01:00
Evan Hunt and Witold Kręcicki
c0cd4c1d92
begin cleanup of ns_client
...
- as client objects are now allocated along with network manager clients
and will be accounted for by the network manager, there's no longer a
need to call exit_check(). its functions are now replaced by the
nmhandle reset and put callbacks.
- there is no need to keep a 'clients' list in ns_clientmgr()
- (however, TODO, the client manager should now be reference counted)
- added some logging to show when clients are allocated, reset, or freed
- ns_client_next() has no remaining function except to log the reason
for a failure. its name has therefore been changed to ns_client_drop().
2019-11-05 12:54:44 +01:00
Evan Hunt and Witold Kręcicki
689a37071c
assign loop.data directly to support older libuv versions
2019-11-05 12:54:44 +01:00
Ondřej Surý and Witold Kręcicki
ac5ddd3d1f
- Some style fixes
...
- Move typedefs to isc/types.h
2019-11-05 12:54:44 +01:00
Witold Kręcicki
ce2b3fb599
hp: Can't use const atomics
2019-11-05 12:54:44 +01:00
Witold Kręcicki
95456dbd30
netmgr: use uv_handle_t->data and uv_req_t->data directly to avoid uv_{handle,req}_{get,set}_data() that was introduced only in uv 1.19.0
2019-11-05 12:54:44 +01:00
Witold Kręcicki
351dab3808
Fix rebase error in lib/ns/client.c
2019-11-05 12:54:44 +01:00
Witold Kręcicki
8b92d20559
netmgr: use portable faaa_queue instead of ck_fifo for event queue.
...
netmgr: use portable hpstack instead of ck_stack for unused objects cache.
2019-11-05 12:54:44 +01:00
Witold Kręcicki
8781de6782
FAAA Queue fixes, select proper threads in hp directly
2019-11-05 12:54:44 +01:00
Ondřej Surý and Witold Kręcicki
05490cc963
WIP: Add F&A Array Queue implementation
2019-11-05 12:54:44 +01:00
Ondřej Surý and Witold Kręcicki
ef05325179
Add implementation of hazard pointers
2019-11-05 12:54:44 +01:00
Ondřej Surý and Witold Kręcicki
d25a84906f
Cleanup the unneeded includes from netmgr
2019-11-05 12:54:44 +01:00
Witold Kręcicki
353d38caf1
Use a per-client task
2019-11-05 12:54:44 +01:00
Ondřej Surý and Witold Kręcicki
41b35d978e
Update the whitespaces
2019-11-05 12:54:44 +01:00
Ondřej Surý and Witold Kręcicki
31c41735a1
Update util/copyrights
2019-11-05 12:54:44 +01:00
Ondřej Surý and Witold Kręcicki
d909eef3c0
Add ISC_UNREACHABLE(); to isc_nm_send() default branch
2019-11-05 12:54:44 +01:00
Ondřej Surý and Witold Kręcicki
fd42f28eda
fixup: Include <isc/print.h> in new netmgr.h
2019-11-05 12:54:44 +01:00
Ondřej Surý and Witold Kręcicki
4b4566915c
Add new function prototypes for win32 def file
2019-11-05 12:54:44 +01:00
Witold Kręcicki
30a39361a9
netmgr: checkpoint: sanitize tcphandle handling, it was wrong
2019-11-05 12:54:44 +01:00
Witold Kręcicki
737cc141b6
netmgr: checkpoint: isc_task_pause/unpause - we want to pause client->task when we're processing it outside taskmgr (directly from network thread)
2019-11-05 12:54:44 +01:00
Witold Kręcicki
9b4aab53b3
netmgr: proper closing of TCP/TCPDNS connections, TCP quota support
2019-11-05 12:54:44 +01:00
Evan Hunt and Witold Kręcicki
7a64457c43
fixup: simplify a complex boolean expression; fix style nits
2019-11-05 12:54:44 +01:00
Witold Kręcicki
5ad83a4486
netmgr: stop DNS listening, pt 2
2019-11-05 12:54:44 +01:00
Witold Kręcicki
841cd63737
netmgr: stop DNS listening, pt 1
2019-11-05 12:54:44 +01:00
Witold Kręcicki
907f983540
netmgr: pause/resume netmgr when going exclusive
2019-11-05 12:54:44 +01:00
Witold Kręcicki
fa23c42b5b
netmgr: isc_nm_pause/resume implementations - holds all processing
2019-11-05 12:54:44 +01:00
Witold Kręcicki
8979bc4152
DbC in dns/acl.c
2019-11-05 12:54:44 +01:00
Witold Kręcicki
1464aa4439
netmgr: set thread affinity
2019-11-05 12:54:44 +01:00
Witold Kręcicki
9f81aae8bd
netmgr: Set larger buffer size on UDP sockets
2019-11-05 12:54:44 +01:00
Witold Kręcicki
fcc05948a1
netmgr: client mctxs divided by thread
2019-11-05 12:54:44 +01:00
Witold Kręcicki
1e6b065a09
nm: WiP: proper udp shutdown procedure
2019-11-05 12:54:44 +01:00
Witold Kręcicki
eca6a62716
nm: first xfrout support
2019-11-05 12:54:44 +01:00
Witold Kręcicki
4199eec1fa
nm: some style nits, better handling of UDP shutdown
2019-11-05 12:54:44 +01:00
Witold Kręcicki
11f2da1e26
isc__nm_in_netthread
2019-11-05 12:54:44 +01:00
Witold Kręcicki
4f2ae8ba6d
Don't reference sockets in unused handles, causing ref loop
2019-11-05 12:54:44 +01:00
Witold Kręcicki
0de36b4bf0
Netmgr - work in progress (squashed)
...
- Start netmgr with named, shutdown at the end
- udplistener in interfacemgr uses netmgr
- use per-client buffer for udp send
- first steps at making ns_client_request use netmgr for UDP
- uncrustify
- Make interfacemgr and interface references isc_refcount_t instead of locked ints
- Use clock_gettime instead of gettimeofday
- Cleanup get_client, use one interface for clientmgr instead of attaching it to each client
- 'extra' field at the end of handle - for client data
- clientmgr has a taskpool, clients attach to it
- TCP support
2019-11-05 12:54:44 +01:00
Witold Kręcicki
b6cc9e6e00
Netmgr design doc - first steps
2019-11-05 12:54:44 +01:00
Witold Kręcicki
0da36457ec
Add isc_sockaddr_fromsockaddr function to convert from struct sockaddr to isc_sockaddr
2019-11-05 12:54:44 +01:00
Ondřej Surý
ae33c75d06
Merge branch '664-fetches-per-server-quota-docs' into 'master'
...
Describe the polynomial backoff curve used in the quota adjustment
Closes #664
See merge request isc-projects/bind9!2519
2019-11-05 08:50:01 +00:00
Ondřej Surý
56ef09c3a1
Describe the polynomial backoff curve used in the quota adjustment
2019-11-05 09:48:15 +01:00
Ondřej Surý
5fc8130822
Merge branch '45-integrate-llvm-scan-build-to-gitlab-ci-workflow' into 'master'
...
Add LLVM/Clang scan-build checks into the GitLab CI
Closes #45
See merge request isc-projects/bind9!2452
2019-11-04 16:00:56 +00:00