lkml.org 
[lkml]   [2015]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v3 0/2] perf/core: rcu fixes
Date

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



\
 
 \ /
  Last update: 2015-11-12 11:21    [W:0.057 / U:1.840 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site