Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf/x86/intel/uncore: Enable EV_SEL_EXT bit for PCU

This patch adds support for the SNB-EP PCU uncore PMU extra_sel_bit
(bit 21) which is missing from the documentation in Table-2.75 of
Intel Xeon Processor E5-2600 Product Family Uncore Performance
Monitoring Guide. It is referred to later in Table-2.81. Without
this selection bit explicitly enabled by the kernel, some events
such as COREx_TRANSITION_CYCLES do not count correctly.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1376375382-21350-4-git-send-email-zheng.z.yan@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>

authored by

Yan, Zheng and committed by
Ingo Molnar
77b339bc fd1ec259

+2 -1
+1 -1
arch/x86/kernel/cpu/perf_event_intel_uncore.c
··· 301 301 }; 302 302 303 303 static struct attribute *snbep_uncore_pcu_formats_attr[] = { 304 - &format_attr_event.attr, 304 + &format_attr_event_ext.attr, 305 305 &format_attr_occ_sel.attr, 306 306 &format_attr_edge.attr, 307 307 &format_attr_inv.attr,
+1
arch/x86/kernel/cpu/perf_event_intel_uncore.h
··· 117 117 (SNBEP_PMON_CTL_EV_SEL_MASK | \ 118 118 SNBEP_PCU_MSR_PMON_CTL_OCC_SEL_MASK | \ 119 119 SNBEP_PMON_CTL_EDGE_DET | \ 120 + SNBEP_PMON_CTL_EV_SEL_EXT | \ 120 121 SNBEP_PMON_CTL_INVERT | \ 121 122 SNBEP_PCU_MSR_PMON_CTL_TRESH_MASK | \ 122 123 SNBEP_PCU_MSR_PMON_CTL_OCC_INVERT | \