aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-02 03:52:23 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-08 01:51:15 -0400
commit8e3572cff70ee19a0a1f2e2dde0bca0b7c8b54dc (patch)
treec05b29a93f377aeeb0a8ed2c7b1880d1d3756b83
parentae179ae433bb4ef6b6179c5c1c7b6cc7dc01c670 (diff)
batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu
The RCU callback softif_neigh_free_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: Marek Lindner <lindner_marek@yahoo.de> Cc: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Acked-by: David S. Miller <davem@davemloft.net> Reviewed-by: Josh Triplett <josh@joshtriplett.org> Acked-by: Sven Eckelmann <sven@narfation.org>
-rw-r--r--net/batman-adv/soft-interface.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
index 824e1f6e50f2..04efe022c13b 100644
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@ -76,18 +76,10 @@ int my_skb_head_push(struct sk_buff *skb, unsigned int len)
76 return 0; 76 return 0;
77} 77}
78 78
79static void softif_neigh_free_rcu(struct rcu_head *rcu)
80{
81 struct softif_neigh *softif_neigh;
82
83 softif_neigh = container_of(rcu, struct softif_neigh, rcu);
84 kfree(softif_neigh);
85}
86
87static void softif_neigh_free_ref(struct softif_neigh *softif_neigh) 79static void softif_neigh_free_ref(struct softif_neigh *softif_neigh)
88{ 80{
89 if (atomic_dec_and_test(&softif_neigh->refcount)) 81 if (atomic_dec_and_test(&softif_neigh->refcount))
90 call_rcu(&softif_neigh->rcu, softif_neigh_free_rcu); 82 kfree_rcu(softif_neigh, rcu);
91} 83}
92 84
93void softif_neigh_purge(struct bat_priv *bat_priv) 85void softif_neigh_purge(struct bat_priv *bat_priv)