diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-02 03:52:23 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-08 01:51:15 -0400 |
commit | 8e3572cff70ee19a0a1f2e2dde0bca0b7c8b54dc (patch) | |
tree | c05b29a93f377aeeb0a8ed2c7b1880d1d3756b83 | |
parent | ae179ae433bb4ef6b6179c5c1c7b6cc7dc01c670 (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.c | 10 |
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 | ||
79 | static 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 | |||
87 | static void softif_neigh_free_ref(struct softif_neigh *softif_neigh) | 79 | static 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 | ||
93 | void softif_neigh_purge(struct bat_priv *bat_priv) | 85 | void softif_neigh_purge(struct bat_priv *bat_priv) |