]> git.ipfire.org Git - thirdparty/linux.git/commit - kernel/events/core.c
perf: Disable all pmus on unthrottling and rescheduling
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>
Mon, 16 Dec 2013 12:17:36 +0000 (14:17 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 17 Dec 2013 14:04:00 +0000 (15:04 +0100)
commit443772776c69ac9293d66b4d69fd9af16299cc2a
tree2de33c59380501f7bb34ed9c39897bd30d942c04
parentcf30d52e2d11523c42048ab89ed4215b5021526a
perf: Disable all pmus on unthrottling and rescheduling

Currently, only one PMU in a context gets disabled during unthrottling
and event_sched_{out,in}(), however, events in one context may belong to
different pmus, which results in PMUs being reprogrammed while they are
still enabled.

This means that mixed PMU use [which is rare in itself] resulted in
potentially completely unreliable results: corrupted events, bogus
results, etc.

This patch temporarily disables PMUs that correspond to
each event in the context while these events are being modified.

Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Link: http://lkml.kernel.org/r/1387196256-8030-1-git-send-email-alexander.shishkin@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/events/core.c