net: Convert subsys_initcall() registered pernet_operations from net/sched
authorKirill Tkhai <ktkhai@virtuozzo.com>
Tue, 13 Feb 2018 09:29:13 +0000 (12:29 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Feb 2018 15:36:07 +0000 (10:36 -0500)
psched_net_ops only creates and destroyes /proc entry,
and safe to be executed in parallel with any foreigh
pernet_operations.

tcf_action_net_ops initializes and destructs tcf_action_net::egdev_ht,
which is not touched by foreign pernet_operations.

So, make them async.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Acked-by: Andrei Vagin <avagin@virtuozzo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/act_api.c
net/sched/sch_api.c

index eba6682727dd9c238da4b48d915a768933be12de..4886ea4a7d6e790660d4d0a86ba021c88c488a4d 100644 (file)
@@ -1454,6 +1454,7 @@ static struct pernet_operations tcf_action_net_ops = {
        .exit = tcf_action_net_exit,
        .id = &tcf_action_net_id,
        .size = sizeof(struct tcf_action_net),
+       .async = true,
 };
 
 static int __init tc_action_init(void)
index d512f49ee83c29143c5aea7315c9d4f2304c71bf..27e672c12492022a79b676216fe774294a5cb1aa 100644 (file)
@@ -2128,6 +2128,7 @@ static void __net_exit psched_net_exit(struct net *net)
 static struct pernet_operations psched_net_ops = {
        .init = psched_net_init,
        .exit = psched_net_exit,
+       .async = true,
 };
 
 static int __init pktsched_init(void)