diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2011-03-15 17:58:00 +0800 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-07 22:50:48 -0700 |
commit | 5957b1ac52c5fde2afe5d80abe2a1cb82a9b4f20 (patch) | |
tree | 1b0a04a440d272fe925afd9cfe597bbc509c57bd /net/sched | |
parent | f5c8593c107500979909bd51c85e74bb2eaffbaa (diff) | |
download | talos-op-linux-5957b1ac52c5fde2afe5d80abe2a1cb82a9b4f20.tar.gz talos-op-linux-5957b1ac52c5fde2afe5d80abe2a1cb82a9b4f20.zip |
net,rcu: convert call_rcu(tcf_police_free_rcu) to kfree_rcu()
[PATCH 05/17] net,rcu: convert call_rcu(tcf_police_free_rcu) to kfree_rcu()
The rcu callback tcf_police_free_rcu() just calls a kfree(),
so we use kfree_rcu() instead of the call_rcu(tcf_police_free_rcu).
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>
Diffstat (limited to 'net/sched')
-rw-r--r-- | net/sched/act_police.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/net/sched/act_police.c b/net/sched/act_police.c index 8a1630774fd6..d6bcd64e91de 100644 --- a/net/sched/act_police.c +++ b/net/sched/act_police.c @@ -96,11 +96,6 @@ nla_put_failure: goto done; } -static void tcf_police_free_rcu(struct rcu_head *head) -{ - kfree(container_of(head, struct tcf_police, tcf_rcu)); -} - static void tcf_police_destroy(struct tcf_police *p) { unsigned int h = tcf_hash(p->tcf_index, POL_TAB_MASK); @@ -121,7 +116,7 @@ static void tcf_police_destroy(struct tcf_police *p) * gen_estimator est_timer() might access p->tcf_lock * or bstats, wait a RCU grace period before freeing p */ - call_rcu(&p->tcf_rcu, tcf_police_free_rcu); + kfree_rcu(p, tcf_rcu); return; } } |