提交 ae179ae4 编写于 作者: P Paul E. McKenney

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: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Marek Lindner <lindner_marek@yahoo.de>
Cc: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Acked-by: NDavid S. Miller <davem@davemloft.net>
Reviewed-by: NJosh Triplett <josh@joshtriplett.org>
Acked-by: NSven Eckelmann <sven@narfation.org>
上级 eb340b2f
...@@ -56,18 +56,10 @@ int originator_init(struct bat_priv *bat_priv) ...@@ -56,18 +56,10 @@ int originator_init(struct bat_priv *bat_priv)
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,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册