aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/events
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2014-02-27 06:41:17 -0500
committerIngo Molnar <mingo@kernel.org>2014-02-27 06:41:17 -0500
commitff5a7088f0f04dd246e514f898cab0c863c3598d (patch)
tree68a8f588e60fba05ee54b74b32a3269a72d130b9 /kernel/events
parent7e74efcf76c16f851df5c838c143c4a1865ea9fa (diff)
parente3703f8cdfcf39c25c4338c3ad8e68891cca3731 (diff)
Merge branch 'perf/urgent' into perf/core
Merge the latest fixes before queueing up new changes. Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/events')
-rw-r--r--kernel/events/core.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 45e5543e2a1e..fa990061aa6c 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -7875,14 +7875,14 @@ static void perf_pmu_rotate_stop(struct pmu *pmu)
7875static void __perf_event_exit_context(void *__info) 7875static void __perf_event_exit_context(void *__info)
7876{ 7876{
7877 struct perf_event_context *ctx = __info; 7877 struct perf_event_context *ctx = __info;
7878 struct perf_event *event, *tmp; 7878 struct perf_event *event;
7879 7879
7880 perf_pmu_rotate_stop(ctx->pmu); 7880 perf_pmu_rotate_stop(ctx->pmu);
7881 7881
7882 list_for_each_entry_safe(event, tmp, &ctx->pinned_groups, group_entry) 7882 rcu_read_lock();
7883 __perf_remove_from_context(event); 7883 list_for_each_entry_rcu(event, &ctx->event_list, event_entry)
7884 list_for_each_entry_safe(event, tmp, &ctx->flexible_groups, group_entry)
7885 __perf_remove_from_context(event); 7884 __perf_remove_from_context(event);
7885 rcu_read_unlock();
7886} 7886}
7887 7887
7888static void perf_event_exit_cpu_context(int cpu) 7888static void perf_event_exit_cpu_context(int cpu)
@@ -7906,11 +7906,11 @@ static void perf_event_exit_cpu(int cpu)
7906{ 7906{
7907 struct swevent_htable *swhash = &per_cpu(swevent_htable, cpu); 7907 struct swevent_htable *swhash = &per_cpu(swevent_htable, cpu);
7908 7908
7909 perf_event_exit_cpu_context(cpu);
7910
7909 mutex_lock(&swhash->hlist_mutex); 7911 mutex_lock(&swhash->hlist_mutex);
7910 swevent_hlist_release(swhash); 7912 swevent_hlist_release(swhash);
7911 mutex_unlock(&swhash->hlist_mutex); 7913 mutex_unlock(&swhash->hlist_mutex);
7912
7913 perf_event_exit_cpu_context(cpu);
7914} 7914}
7915#else 7915#else
7916static inline void perf_event_exit_cpu(int cpu) { } 7916static inline void perf_event_exit_cpu(int cpu) { }