batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()
The RCU callback neigh_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>
This commit is contained in:
@@ -56,18 +56,10 @@ err:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void neigh_node_free_rcu(struct rcu_head *rcu)
|
|
||||||
{
|
|
||||||
struct neigh_node *neigh_node;
|
|
||||||
|
|
||||||
neigh_node = container_of(rcu, struct neigh_node, rcu);
|
|
||||||
kfree(neigh_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void neigh_node_free_ref(struct neigh_node *neigh_node)
|
void neigh_node_free_ref(struct neigh_node *neigh_node)
|
||||||
{
|
{
|
||||||
if (atomic_dec_and_test(&neigh_node->refcount))
|
if (atomic_dec_and_test(&neigh_node->refcount))
|
||||||
call_rcu(&neigh_node->rcu, neigh_node_free_rcu);
|
kfree_rcu(neigh_node, rcu);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct neigh_node *create_neighbor(struct orig_node *orig_node,
|
struct neigh_node *create_neighbor(struct orig_node *orig_node,
|
||||||
|
Reference in New Issue
Block a user