From: Paul E. McKenney paulmck@linux.vnet.ibm.com
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 Signed-off-by: Sven Eckelmann sven@narfation.org --- Rebased on top of current master + newest version from Paul E. McKenney
gateway_client.c | 10 +--------- 1 files changed, 1 insertions(+), 9 deletions(-)
diff --git a/gateway_client.c b/gateway_client.c index 65f3953..61605a0 100644 --- a/gateway_client.c +++ b/gateway_client.c @@ -29,18 +29,10 @@ #include <linux/udp.h> #include <linux/if_vlan.h>
-static void gw_node_free_rcu(struct rcu_head *rcu) -{ - struct gw_node *gw_node; - - gw_node = container_of(rcu, struct gw_node, rcu); - kfree(gw_node); -} - static void gw_node_free_ref(struct gw_node *gw_node) { if (atomic_dec_and_test(&gw_node->refcount)) - call_rcu(&gw_node->rcu, gw_node_free_rcu); + kfree_rcu(gw_node, rcu); }
static struct gw_node *gw_get_selected_gw_node(struct bat_priv *bat_priv)