perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()
PATCH 27/36 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 <[email protected]>
--- kernel/perf_event.c | 10 +--------- 1 files changed, 1 insertions(+), 9 deletions(-)
kernel/perf_event.c +1 -9
@@ -5300,14 +5300,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);
@@ -5316,7 +5308,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)
Signature · 1 line
1.7.4
Quoted 5 lines · Lai Jiangshan
The rcu callback
swevent_hlist_release_rcu()just calls akfree(), so we usekfree_rcu()instead of thecall_rcu(swevent_hlist_release_rcu).Signed-off-by Lai Jiangshan <[email protected]>
Acked-by Peter Zijlstra <[email protected]>
Quoted 32 lines
--- kernel/perf_event.c | 10 +--------- 1 files changed, 1 insertions(+), 9 deletions(-)kernel/perf_event.c +1
-9@@ -5300,14 +5300,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);@@ -5316,7 +5308,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)