netfilter: Replace call_rcu_bh(), rcu_barrier_bh(), and synchronize_rcu_bh()
Now that call_rcu()'s callback is not invoked until after bh-disable regions of code have completed (in addition to explicitly marked RCU read-side critical sections), call_rcu() can be used in place of call_rcu_bh(). Similarly, rcu_barrier() can be used in place of rcu_barrier_bh() and synchronize_rcu() in place of synchronize_rcu_bh(). This commit therefore makes these changes. Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:

committed by
Pablo Neira Ayuso

parent
b966098769
commit
c8d1da4000
@@ -94,7 +94,7 @@ static inline void
|
||||
clusterip_config_put(struct clusterip_config *c)
|
||||
{
|
||||
if (refcount_dec_and_test(&c->refcount))
|
||||
call_rcu_bh(&c->rcu, clusterip_config_rcu_free);
|
||||
call_rcu(&c->rcu, clusterip_config_rcu_free);
|
||||
}
|
||||
|
||||
/* decrease the count of entries using/referencing this config. If last
|
||||
@@ -876,8 +876,8 @@ static void __exit clusterip_tg_exit(void)
|
||||
xt_unregister_target(&clusterip_tg_reg);
|
||||
unregister_pernet_subsys(&clusterip_net_ops);
|
||||
|
||||
/* Wait for completion of call_rcu_bh()'s (clusterip_config_rcu_free) */
|
||||
rcu_barrier_bh();
|
||||
/* Wait for completion of call_rcu()'s (clusterip_config_rcu_free) */
|
||||
rcu_barrier();
|
||||
}
|
||||
|
||||
module_init(clusterip_tg_init);
|
||||
|
Reference in New Issue
Block a user