forked from Minki/linux
batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu
The RCU callback softif_neigh_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
ae179ae433
commit
8e3572cff7
@ -76,18 +76,10 @@ int my_skb_head_push(struct sk_buff *skb, unsigned int len)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void softif_neigh_free_rcu(struct rcu_head *rcu)
|
||||
{
|
||||
struct softif_neigh *softif_neigh;
|
||||
|
||||
softif_neigh = container_of(rcu, struct softif_neigh, rcu);
|
||||
kfree(softif_neigh);
|
||||
}
|
||||
|
||||
static void softif_neigh_free_ref(struct softif_neigh *softif_neigh)
|
||||
{
|
||||
if (atomic_dec_and_test(&softif_neigh->refcount))
|
||||
call_rcu(&softif_neigh->rcu, softif_neigh_free_rcu);
|
||||
kfree_rcu(softif_neigh, rcu);
|
||||
}
|
||||
|
||||
void softif_neigh_purge(struct bat_priv *bat_priv)
|
||||
|
Loading…
Reference in New Issue
Block a user