mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 22:15:20 +00:00
Remove the explicit call_rcu thread creating and destruction
The free_all_cpu_call_rcu_data() call can consume hundreds of milliseconds on shutdown. Don't try to be smart and let the RCU library handle this internally.
This commit is contained in:
@@ -434,8 +434,6 @@ isc_loopmgr_run(isc_loopmgr_t *loopmgr) {
|
||||
*/
|
||||
ignore_signal(SIGPIPE, SIG_IGN);
|
||||
|
||||
bool free_call_rcu_data = !create_all_cpu_call_rcu_data(0);
|
||||
|
||||
/*
|
||||
* The thread 0 is this one.
|
||||
*/
|
||||
@@ -450,12 +448,6 @@ isc_loopmgr_run(isc_loopmgr_t *loopmgr) {
|
||||
}
|
||||
|
||||
isc_thread_main(loop_thread, &loopmgr->loops[0]);
|
||||
|
||||
rcu_barrier();
|
||||
|
||||
if (free_call_rcu_data) {
|
||||
free_all_cpu_call_rcu_data();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
Reference in New Issue
Block a user