diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2008-10-28 16:25:09 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-10-28 16:25:09 -0400 |
commit | 93adcc80f3288f1827baf6f821af818f6eeef7f9 (patch) | |
tree | d53faa5267421764ebe8f1d5e83e6eb5bb7ddea6 /net/core | |
parent | def8b4faff5ca349beafbbfeb2c51f3602a6ef3a (diff) |
net: don't use INIT_RCU_HEAD
call_rcu() will unconditionally rewrite RCU head anyway.
Applies to
struct neigh_parms
struct neigh_table
struct net
struct cipso_v4_doi
struct in_ifaddr
struct in_device
rt->u.dst
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/neighbour.c | 2 | ||||
-rw-r--r-- | net/core/net_namespace.c | 2 |
2 files changed, 0 insertions, 4 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c index 1dc728b38589..b337a937ea52 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c | |||
@@ -1340,7 +1340,6 @@ struct neigh_parms *neigh_parms_alloc(struct net_device *dev, | |||
1340 | if (p) { | 1340 | if (p) { |
1341 | p->tbl = tbl; | 1341 | p->tbl = tbl; |
1342 | atomic_set(&p->refcnt, 1); | 1342 | atomic_set(&p->refcnt, 1); |
1343 | INIT_RCU_HEAD(&p->rcu_head); | ||
1344 | p->reachable_time = | 1343 | p->reachable_time = |
1345 | neigh_rand_reach_time(p->base_reachable_time); | 1344 | neigh_rand_reach_time(p->base_reachable_time); |
1346 | 1345 | ||
@@ -1412,7 +1411,6 @@ void neigh_table_init_no_netlink(struct neigh_table *tbl) | |||
1412 | tbl->parms.net = &init_net; | 1411 | tbl->parms.net = &init_net; |
1413 | #endif | 1412 | #endif |
1414 | atomic_set(&tbl->parms.refcnt, 1); | 1413 | atomic_set(&tbl->parms.refcnt, 1); |
1415 | INIT_RCU_HEAD(&tbl->parms.rcu_head); | ||
1416 | tbl->parms.reachable_time = | 1414 | tbl->parms.reachable_time = |
1417 | neigh_rand_reach_time(tbl->parms.base_reachable_time); | 1415 | neigh_rand_reach_time(tbl->parms.base_reachable_time); |
1418 | 1416 | ||
diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c index f1d07b5c1e17..861b4cbf40db 100644 --- a/net/core/net_namespace.c +++ b/net/core/net_namespace.c | |||
@@ -47,7 +47,6 @@ static __net_init int setup_net(struct net *net) | |||
47 | goto out; | 47 | goto out; |
48 | 48 | ||
49 | ng->len = INITIAL_NET_GEN_PTRS; | 49 | ng->len = INITIAL_NET_GEN_PTRS; |
50 | INIT_RCU_HEAD(&ng->rcu); | ||
51 | rcu_assign_pointer(net->gen, ng); | 50 | rcu_assign_pointer(net->gen, ng); |
52 | 51 | ||
53 | error = 0; | 52 | error = 0; |
@@ -446,7 +445,6 @@ int net_assign_generic(struct net *net, int id, void *data) | |||
446 | */ | 445 | */ |
447 | 446 | ||
448 | ng->len = id; | 447 | ng->len = id; |
449 | INIT_RCU_HEAD(&ng->rcu); | ||
450 | memcpy(&ng->ptr, &old_ng->ptr, old_ng->len); | 448 | memcpy(&ng->ptr, &old_ng->ptr, old_ng->len); |
451 | 449 | ||
452 | rcu_assign_pointer(net->gen, ng); | 450 | rcu_assign_pointer(net->gen, ng); |