Messages in this thread | | | From | Stephane Eranian <> | Subject | [PATCH v3 0/2] perf/core: rcu fixes | Date | Thu, 12 Nov 2015 11:00:02 +0100 |
| |
This short patch series fixes some issues with RCU locking in the generic perf layer.
Patch 1 fixes cgroup switching rcu issues related to the fact that perf_cgroup_sched_out() and perf_cgroup_sched_in() were missing some rcu read lock to protect the reference to the cgroup. Consequently, we moved the rcu readlock out of perf_cgroup_switch() to avoid double calls.
Patch 2 reinforces the testing for the rcu locking in perf cgorup code. Either we have to hold the rcu read lock or we must have the ctx->lock which guarantees the task cannot leave the cgroup.
Thanks to Peter and Eric from their suggestions on how to fix this correctly.
Stephane Eranian (2): perf/core: fix RCU problem with cgroup context switching code perf/core: robustify perf_cgroup_from_task rcu checks
arch/x86/kernel/cpu/perf_event_intel_cqm.c | 2 +- include/linux/perf_event.h | 6 ++++-- kernel/events/core.c | 31 ++++++++++++++++++++---------- 3 files changed, 26 insertions(+), 13 deletions(-)
-- 2.5.0
| |