diff options
author | Peter Zijlstra | 2013-10-03 16:02:23 +0200 |
---|---|---|
committer | Ingo Molnar | 2013-10-04 09:58:53 +0200 |
commit | 9886167d20c0720dcfb01e62cdff4d906b226f43 (patch) | |
tree | dff8fb937ae2c73fe474263da0e906aa77d6ae54 /kernel/sched/cpuacct.h | |
parent | cac6653529eeac9b661fc8342c47d849c3adb085 (diff) |
perf: Fix perf_pmu_migrate_context
While auditing the list_entry usage due to a trinity bug I found that
perf_pmu_migrate_context violates the rules for
perf_event::event_entry.
The problem is that perf_event::event_entry is a RCU list element, and
hence we must wait for a full RCU grace period before re-using the
element after deletion.
Therefore the usage in perf_pmu_migrate_context() which re-uses the
entry immediately is broken. For now introduce another list_head into
perf_event for this specific usage.
This doesn't actually fix the trinity report because that never goes
through this code.
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/n/tip-mkj72lxagw1z8fvjm648iznw@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched/cpuacct.h')
0 files changed, 0 insertions, 0 deletions