diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-02 00:56:57 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-07 22:51:15 -0700 |
commit | 11c476f31a0fabc6e604da5b09a6590b57c3fb20 (patch) | |
tree | 91d59b3918d3567b136bdd690ca96d132a2425b9 | |
parent | 8e3572cff70ee19a0a1f2e2dde0bca0b7c8b54dc (diff) | |
download | kernel_goldelico_gta04-11c476f31a0fabc6e604da5b09a6590b57c3fb20.zip kernel_goldelico_gta04-11c476f31a0fabc6e604da5b09a6590b57c3fb20.tar.gz kernel_goldelico_gta04-11c476f31a0fabc6e604da5b09a6590b57c3fb20.tar.bz2 |
net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree
The RCU callback prl_entry_destroy_rcu() just calls kfree(), so we can
use kfree_rcu() instead of call_rcu().
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: "Pekka Savola (ipv6)" <pekkas@netcore.fi>
Cc: James Morris <jmorris@namei.org>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: Patrick McHardy <kaber@trash.net>
Acked-by: David S. Miller <davem@davemloft.net>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
-rw-r--r-- | net/ipv6/sit.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index 43b3337..5f35d59 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -401,11 +401,6 @@ out: return err; } -static void prl_entry_destroy_rcu(struct rcu_head *head) -{ - kfree(container_of(head, struct ip_tunnel_prl_entry, rcu_head)); -} - static void prl_list_destroy_rcu(struct rcu_head *head) { struct ip_tunnel_prl_entry *p, *n; @@ -433,7 +428,7 @@ ipip6_tunnel_del_prl(struct ip_tunnel *t, struct ip_tunnel_prl *a) p = &x->next) { if (x->addr == a->addr) { *p = x->next; - call_rcu(&x->rcu_head, prl_entry_destroy_rcu); + kfree_rcu(x, rcu_head); t->prl_count--; goto out; } |