summaryrefslogtreecommitdiffstats
path: root/kernel/softirq.c
diff options
context:
space:
mode:
authorStephane Eranian <eranian@google.com>2011-04-06 02:54:54 +0200
committerIngo Molnar <mingo@elte.hu>2011-04-11 11:07:55 +0200
commite566b76ed30768140df8f0023904aed5a41244f7 (patch)
tree5d8fa756453cb6f60554c6c253a3cf2a01945628 /kernel/softirq.c
parent621d26567fd0c222f419e3b5ddf39e529e0fdcb3 (diff)
downloadlinux-e566b76ed30768140df8f0023904aed5a41244f7.tar.bz2
perf_event: Fix cgrp event scheduling bug in perf_enable_on_exec()
There is a bug in perf_event_enable_on_exec() when cgroup events are active on a CPU: the cgroup events may be scheduled twice causing event state corruptions which eventually may lead to kernel panics. The reason is that the function needs to first schedule out the cgroup events, just like for the per-thread events. The cgroup event are scheduled back in automatically from the perf_event_context_sched_in() function. The patch also adds a WARN_ON_ONCE() is perf_cgroup_switch() to catch any bogus state. Signed-off-by: Stephane Eranian <eranian@google.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/20110406005454.GA1062@quad Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/softirq.c')
0 files changed, 0 insertions, 0 deletions