mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-24 07:31:41 +00:00
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>
This commit is contained in:
parent
cb796ff338
commit
fa4bbc4ca5
1 changed files with 1 additions and 9 deletions
|
@ -5323,14 +5323,6 @@ swevent_hlist_deref(struct swevent_htable *swhash)
|
||||||
lockdep_is_held(&swhash->hlist_mutex));
|
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)
|
static void swevent_hlist_release(struct swevent_htable *swhash)
|
||||||
{
|
{
|
||||||
struct swevent_hlist *hlist = swevent_hlist_deref(swhash);
|
struct swevent_hlist *hlist = swevent_hlist_deref(swhash);
|
||||||
|
@ -5339,7 +5331,7 @@ static void swevent_hlist_release(struct swevent_htable *swhash)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
rcu_assign_pointer(swhash->swevent_hlist, NULL);
|
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)
|
static void swevent_hlist_put_cpu(struct perf_event *event, int cpu)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue