Commit eb340b2f authored by Paul E. McKenney's avatar Paul E. McKenney

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: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Marek Lindner <lindner_marek@yahoo.de>
Cc: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
Acked-by: default avatarSven Eckelmann <sven@narfation.org>
parent 0744371a
...@@ -28,18 +28,10 @@ ...@@ -28,18 +28,10 @@
#include <linux/udp.h> #include <linux/udp.h>
#include <linux/if_vlan.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) static void gw_node_free_ref(struct gw_node *gw_node)
{ {
if (atomic_dec_and_test(&gw_node->refcount)) if (atomic_dec_and_test(&gw_node->refcount))
call_rcu(&gw_node->rcu, gw_node_free_rcu); kfree_rcu(gw_node, rcu);
} }
void *gw_get_selected(struct bat_priv *bat_priv) void *gw_get_selected(struct bat_priv *bat_priv)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment