mirror of
https://github.com/torvalds/linux.git
synced 2024-10-31 17:21:49 +00:00
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:
parent
eb340b2f80
commit
ae179ae433
@ -56,18 +56,10 @@ err:
|
||||
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)
|
||||
{
|
||||
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,
|
||||
|
Loading…
Reference in New Issue
Block a user