Skip to contentSkip to conversation

perf event, x86: Use better stalled cycles metric

tip:perf/stat tip-bot for Ingo Molnar 1 participant 1 message Apr 28, 2011

Subsystems (2)
lore
Share & tools
lore
#0 lore raw
Commit-ID:  8a850cadca0e387c87a0911a61e99fd66aeb57ec
Gitweb:     http://git.kernel.org/tip/8a850cadca0e387c87a0911a61e99fd66aeb57ec
Author:     Ingo Molnar <[email protected]>
AuthorDate: Thu, 28 Apr 2011 11:16:44 +0200
Committer:  Ingo Molnar <[email protected]>
CommitDate: Thu, 28 Apr 2011 08:39:33 +0200

perf event, x86: Use better stalled cycles metric

Use the UOPS_EXECUTED.*,c=1,i=1 event on Intel CPUs - it is a rather good indicator of CPU execution stalls, more sensitive and more inclusive than the 0xa2 resource stalls event (which does not count nearly as many stall types).

Cc Peter Zijlstra <[email protected]>
Cc Arnaldo Carvalho de Melo <[email protected]>
Cc Frederic Weisbecker <[email protected]>
---
 arch/x86/kernel/cpu/perf_event_intel.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
arch/x86/kernel/cpu/perf_event_intel.c +2 -2
index 067a48b..1ea9422 100644
@@ -1413,8 +1413,8 @@ static __init int intel_pmu_init(void)
 		x86_pmu.enable_all = intel_pmu_nhm_enable_all;
 		x86_pmu.extra_regs = intel_nehalem_extra_regs;
 
-		/* Install the stalled-cycles event: 0xff: All reasons, 0xa2: Resource stalls */
-		intel_perfmon_event_map[PERF_COUNT_HW_STALLED_CYCLES] = 0xffa2;
+		/* Install the stalled-cycles event: UOPS_EXECUTED.CORE_ACTIVE_CYCLES,c=1,i=1 */
+		intel_perfmon_event_map[PERF_COUNT_HW_STALLED_CYCLES] = 0x1803fb1;
 
 		if (ebx & 0x40) {
 			/*