summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2011-03-18 12:08:29 +0800
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-07 22:51:09 -0700
commitfa4bbc4ca5795fbf1303b98c924e51a21a920f14 (patch)
tree91f504045a57d1c88b68a5a0102de01008828232 /kernel
parentcb796ff338db9f064f4ecb7d41898e8bedcad4d9 (diff)
downloadlinux-fa4bbc4ca5795fbf1303b98c924e51a21a920f14.tar.bz2
perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()
The rcu callback swevent_hlist_release_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(swevent_hlist_release_rcu). Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/perf_event.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 17a176f7ef11..b90d660fc875 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -5323,14 +5323,6 @@ swevent_hlist_deref(struct swevent_htable *swhash)
lockdep_is_held(&swhash->hlist_mutex));
}
-static void swevent_hlist_release_rcu(struct rcu_head *rcu_head)
-{
- struct swevent_hlist *hlist;
-
- hlist = container_of(rcu_head, struct swevent_hlist, rcu_head);
- kfree(hlist);
-}
-
static void swevent_hlist_release(struct swevent_htable *swhash)
{
struct swevent_hlist *hlist = swevent_hlist_deref(swhash);
@@ -5339,7 +5331,7 @@ static void swevent_hlist_release(struct swevent_htable *swhash)
return;
rcu_assign_pointer(swhash->swevent_hlist, NULL);
- call_rcu(&hlist->rcu_head, swevent_hlist_release_rcu);
+ kfree_rcu(hlist, rcu_head);
}
static void swevent_hlist_put_cpu(struct perf_event *event, int cpu)