Patchwork powerpc, perf: Add generic cache reference and cache miss events for POWER8 PMU

login
register
mail settings
Submitter Anshuman Khandual
Date July 1, 2013, 6:13 a.m.
Message ID <51D11DEF.8070302@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/256015/
State Superseded
Delegated to: Michael Ellerman
Headers show

Comments

Anshuman Khandual - July 1, 2013, 6:13 a.m.
powerpc, perf: Add generic cache reference and cache miss events for POWER8 PMU

This enables generic cache reference and cache miss events on POWER8 systems by
utilizing raw PMU event codes for L1 cache reference and L1 cache miss events
respectively.

Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Michael Ellerman - July 8, 2013, 8:28 a.m.
On Mon, Jul 01, 2013 at 11:43:03AM +0530, Anshuman Khandual wrote:
> powerpc, perf: Add generic cache reference and cache miss events for POWER8 PMU
> 
> This enables generic cache reference and cache miss events on POWER8 systems by
> utilizing raw PMU event codes for L1 cache reference and L1 cache miss events
> respectively.
> 
> Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
> 
> diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c
> index f7d1c4f..5ccddac 100644
> --- a/arch/powerpc/perf/power8-pmu.c
> +++ b/arch/powerpc/perf/power8-pmu.c
> @@ -24,6 +24,8 @@
>  #define PM_INST_CMPL			0x00002
>  #define PM_BRU_FIN			0x10068
>  #define PM_BR_MPRED_CMPL		0x400f6
> +#define PM_LD_MISS_L1			0x3E054
> +#define PM_LD_REF_L1			0x100EE

Hi Anshuman,

Which system did you test this on and what results did you see?

cheers
Anshuman Khandual - July 9, 2013, 7:55 a.m.
> Hi Anshuman,
> 
> Which system did you test this on and what results did you see?
> 

Tested this on a power8 system.

Patch

diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c
index f7d1c4f..5ccddac 100644
--- a/arch/powerpc/perf/power8-pmu.c
+++ b/arch/powerpc/perf/power8-pmu.c
@@ -24,6 +24,8 @@ 
 #define PM_INST_CMPL			0x00002
 #define PM_BRU_FIN			0x10068
 #define PM_BR_MPRED_CMPL		0x400f6
+#define PM_LD_MISS_L1			0x3E054
+#define PM_LD_REF_L1			0x100EE
 
 
 /*
@@ -518,6 +520,8 @@  static int power8_generic_events[] = {
 	[PERF_COUNT_HW_INSTRUCTIONS] =			PM_INST_CMPL,
 	[PERF_COUNT_HW_BRANCH_INSTRUCTIONS] =		PM_BRU_FIN,
 	[PERF_COUNT_HW_BRANCH_MISSES] =			PM_BR_MPRED_CMPL,
+	[PERF_COUNT_HW_CACHE_REFERENCES] = 		PM_LD_REF_L1,
+	[PERF_COUNT_HW_CACHE_MISSES] =			PM_LD_MISS_L1,
 };
 
 static u64 power8_bhrb_filter_map(u64 branch_sample_type)