perf/x86/intel: Make the CYCLE_ACTIVITY.* constraint on Broadwell more specific
authorAndi Kleen <ak@linux.intel.com>
Mon, 14 Sep 2015 21:47:02 +0000 (14:47 -0700)
committerIngo Molnar <mingo@kernel.org>
Fri, 18 Sep 2015 07:20:21 +0000 (09:20 +0200)
commit5e176213a6b2bc5146820c79542d37290434a3c4
tree42ebb0cbdf11db0ccb5e5dac06afdcf0cce7a2c0
parenta6f83f00ad4b4e8a6c1cd14db495f40cf5ea7586
perf/x86/intel: Make the CYCLE_ACTIVITY.* constraint on Broadwell more specific

The counter constraint for CYCLE_ACTIVITY.* on Broadwell covered
all CYCLE_ACTIVITY.* sub events, and forced them on counter 2.
But actually only one sub event (umask 8) needs to be on counter 2,
all others do not have any constraint.

Only force that subevent. This fixes groups with multiple
CYCLE_ACTIVITY.* events, for example:

% perf stat -x, -e '{cpu/event=0xa3,umask=0x6,cmask=6/,\
cpu/event=0xa2,umask=0x8/,\
cpu/event=0xa3,umask=0x4,cmask=4/,cpu/event=0xb1,umask=0x1,cmask=1/}' true
122150,,cpu/event=0xa3,umask=0x6,cmask=6/,846486,100.00
16483,,cpu/event=0xa2,umask=0x8/,846486,100.00
252280,,cpu/event=0xa3,umask=0x4,cmask=4/,846486,100.00
233604,,cpu/event=0xb1,umask=0x1,cmask=1/,846486,100.00
%

Without this patch the third result would be <unsupported>

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1442267222-16464-1-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/cpu/perf_event_intel.c