aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/perf_event.c
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2011-03-18 00:08:29 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-08 01:51:09 -0400
commitfa4bbc4ca5795fbf1303b98c924e51a21a920f14 (patch)
tree91f504045a57d1c88b68a5a0102de01008828232 /kernel/perf_event.c
parentcb796ff338db9f064f4ecb7d41898e8bedcad4d9 (diff)
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/perf_event.c')
-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 17a176f7ef1..b90d660fc87 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -5323,14 +5323,6 @@ swevent_hlist_deref(struct swevent_htable *swhash)
5323 lockdep_is_held(&swhash->hlist_mutex)); 5323 lockdep_is_held(&swhash->hlist_mutex));
5324} 5324}
5325 5325
5326static void swevent_hlist_release_rcu(struct rcu_head *rcu_head)
5327{
5328 struct swevent_hlist *hlist;
5329
5330 hlist = container_of(rcu_head, struct swevent_hlist, rcu_head);
5331 kfree(hlist);
5332}
5333
5334static void swevent_hlist_release(struct swevent_htable *swhash) 5326static void swevent_hlist_release(struct swevent_htable *swhash)
5335{ 5327{
5336 struct swevent_hlist *hlist = swevent_hlist_deref(swhash); 5328 struct swevent_hlist *hlist = swevent_hlist_deref(swhash);
@@ -5339,7 +5331,7 @@ static void swevent_hlist_release(struct swevent_htable *swhash)
5339 return; 5331 return;
5340 5332
5341 rcu_assign_pointer(swhash->swevent_hlist, NULL); 5333 rcu_assign_pointer(swhash->swevent_hlist, NULL);
5342 call_rcu(&hlist->rcu_head, swevent_hlist_release_rcu); 5334 kfree_rcu(hlist, rcu_head);
5343} 5335}
5344 5336
5345static void swevent_hlist_put_cpu(struct perf_event *event, int cpu) 5337static void swevent_hlist_put_cpu(struct perf_event *event, int cpu)