diff options
author | Cong Wang <xiyou.wangcong@gmail.com> | 2017-12-12 02:35:03 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-12-13 21:58:41 +0300 |
commit | 039af9c66b93154b493e3088a36b251b99c9b3c4 (patch) | |
tree | 231859a76810708e956e404c882e324e7afa0961 /net/sched/act_tunnel_key.c | |
parent | cdc0974f10cf02dde411ee96dbce54594249da4e (diff) | |
download | linux-039af9c66b93154b493e3088a36b251b99c9b3c4.tar.xz |
net_sched: switch to exit_batch for action pernet ops
Since we now hold RTNL lock in tc_action_net_exit(), it is good to
batch them to speedup tc action dismantle.
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/act_tunnel_key.c')
-rw-r--r-- | net/sched/act_tunnel_key.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/net/sched/act_tunnel_key.c b/net/sched/act_tunnel_key.c index 57b63bdec3ae..0e23aac09ad6 100644 --- a/net/sched/act_tunnel_key.c +++ b/net/sched/act_tunnel_key.c @@ -325,16 +325,14 @@ static __net_init int tunnel_key_init_net(struct net *net) return tc_action_net_init(tn, &act_tunnel_key_ops); } -static void __net_exit tunnel_key_exit_net(struct net *net) +static void __net_exit tunnel_key_exit_net(struct list_head *net_list) { - struct tc_action_net *tn = net_generic(net, tunnel_key_net_id); - - tc_action_net_exit(tn); + tc_action_net_exit(net_list, tunnel_key_net_id); } static struct pernet_operations tunnel_key_net_ops = { .init = tunnel_key_init_net, - .exit = tunnel_key_exit_net, + .exit_batch = tunnel_key_exit_net, .id = &tunnel_key_net_id, .size = sizeof(struct tc_action_net), }; |