diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-02 02:25:02 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-08 01:51:13 -0400 |
commit | eb340b2f804860a51a0b92e35fd36742b6c2d6b7 (patch) | |
tree | 65869f42c254df2b9b99f1041ec8daa2dc138bb3 /net/batman-adv | |
parent | 0744371aeba7a5004006c2309971ee026c0b2000 (diff) |
batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu
The RCU callback gw_node_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>
Diffstat (limited to 'net/batman-adv')
-rw-r--r-- | net/batman-adv/gateway_client.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/net/batman-adv/gateway_client.c b/net/batman-adv/gateway_client.c index 3cc43558cf9c..150b6ce23df3 100644 --- a/net/batman-adv/gateway_client.c +++ b/net/batman-adv/gateway_client.c | |||
@@ -28,18 +28,10 @@ | |||
28 | #include <linux/udp.h> | 28 | #include <linux/udp.h> |
29 | #include <linux/if_vlan.h> | 29 | #include <linux/if_vlan.h> |
30 | 30 | ||
31 | static void gw_node_free_rcu(struct rcu_head *rcu) | ||
32 | { | ||
33 | struct gw_node *gw_node; | ||
34 | |||
35 | gw_node = container_of(rcu, struct gw_node, rcu); | ||
36 | kfree(gw_node); | ||
37 | } | ||
38 | |||
39 | static void gw_node_free_ref(struct gw_node *gw_node) | 31 | static void gw_node_free_ref(struct gw_node *gw_node) |
40 | { | 32 | { |
41 | if (atomic_dec_and_test(&gw_node->refcount)) | 33 | if (atomic_dec_and_test(&gw_node->refcount)) |
42 | call_rcu(&gw_node->rcu, gw_node_free_rcu); | 34 | kfree_rcu(gw_node, rcu); |
43 | } | 35 | } |
44 | 36 | ||
45 | void *gw_get_selected(struct bat_priv *bat_priv) | 37 | void *gw_get_selected(struct bat_priv *bat_priv) |