Browse Source

net,rcu: convert call_rcu(__gen_kill_estimator) to kfree_rcu()

The rcu callback __gen_kill_estimator() just calls a kfree(),
so we use kfree_rcu() instead of the call_rcu(__gen_kill_estimator).

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Lai Jiangshan 14 years ago
parent
commit
dad178fcd5
1 changed files with 1 additions and 8 deletions
  1. 1 8
      net/core/gen_estimator.c

+ 1 - 8
net/core/gen_estimator.c

@@ -249,13 +249,6 @@ int gen_new_estimator(struct gnet_stats_basic_packed *bstats,
 }
 }
 EXPORT_SYMBOL(gen_new_estimator);
 EXPORT_SYMBOL(gen_new_estimator);
 
 
-static void __gen_kill_estimator(struct rcu_head *head)
-{
-	struct gen_estimator *e = container_of(head,
-					struct gen_estimator, e_rcu);
-	kfree(e);
-}
-
 /**
 /**
  * gen_kill_estimator - remove a rate estimator
  * gen_kill_estimator - remove a rate estimator
  * @bstats: basic statistics
  * @bstats: basic statistics
@@ -279,7 +272,7 @@ void gen_kill_estimator(struct gnet_stats_basic_packed *bstats,
 		write_unlock(&est_lock);
 		write_unlock(&est_lock);
 
 
 		list_del_rcu(&e->list);
 		list_del_rcu(&e->list);
-		call_rcu(&e->e_rcu, __gen_kill_estimator);
+		kfree_rcu(e, e_rcu);
 	}
 	}
 	spin_unlock_bh(&est_tree_lock);
 	spin_unlock_bh(&est_tree_lock);
 }
 }