* [PATCH 0/2] Export POWER8 PMU raw event codes through sysfs @ 2013-10-16 5:52 Anshuman Khandual 2013-10-16 5:52 ` [PATCH 1/2] power7, perf: Make some new raw event codes available in sysfs Anshuman Khandual 2013-10-16 5:53 ` [PATCH 2/2] power8, perf: Export raw event codes through sysfs interface Anshuman Khandual 0 siblings, 2 replies; 8+ messages in thread From: Anshuman Khandual @ 2013-10-16 5:52 UTC (permalink / raw) To: linuxppc-dev; +Cc: mikey, sukadev, michaele This patchset adds some missing event list for POWER7 PMU raw events which are exported through sysfs interface. Also adds a new set of raw PMU events list for POWER8. I have completed some amount of initial testing to verify the working of POWER8 raw event codes through sysfs. Before the patch ================ directory contents: /sys/bus/event_source/devices/cpu/ format perf_event_mux_interval_ms power subsystem type uevent After the patch =============== (1) directory contents: /sys/bus/event_source/devices/cpu/ 'events' format perf_event_mux_interval_ms power subsystem type uevent (2) contents inside new directory: /sys/bus/event_source/devices/cpu/events/ ............................ ............................ ............................ PM_ANY_THRD_RUN_CYC PM_BR_2PATH PM_BR_CMPL PM_BR_MRK_2PATH PM_BR_TAKEN_CMPL PM_CMPLU_STALL_BRU PM_CMPLU_STALL_BRU_CRU PM_CMPLU_STALL_COQ_FULL PM_CMPLU_STALL_DCACHE_MISS PM_CMPLU_STALL_DMISS_L21_L31 PM_CMPLU_STALL_DMISS_L2L3 PM_CMPLU_STALL_DMISS_L2L3_CONFLICT PM_CMPLU_STALL_DMISS_L3MISS PM_CMPLU_STALL_DMISS_LMEM PM_CMPLU_STALL_DMISS_REMOTE PM_CMPLU_STALL_ERAT_MISS PM_CMPLU_STALL_FLUSH PM_CMPLU_STALL_FXLONG PM_CMPLU_STALL_FXU PM_CMPLU_STALL_HWSYNC PM_CMPLU_STALL_LOAD_FINISH ........................... ............................ ............................ Sample tests: ================================================================ perf stat -e 'cpu/PM_CMPLU_STALL_ERAT_MISS/' ls Performance counter stats for 'ls': 56762 cpu/PM_CMPLU_STALL_ERAT_MISS/ 0.003643785 seconds time elapsed perf stat -e 'cpu/PM_CMPLU_STALL_BRU/' ls Performance counter stats for 'ls': 208615 cpu/PM_CMPLU_STALL_BRU/ 0.003600713 seconds time elapsed ================================================================= Anshuman Khandual (2): power7, perf: Make some new raw event codes available in sysfs power8, perf: Export raw event codes through sysfs interface arch/powerpc/perf/power7-events-list.h | 10 +++ arch/powerpc/perf/power8-events-list.h | 146 +++++++++++++++++++++++++++++++++ arch/powerpc/perf/power8-pmu.c | 30 +++++++ 3 files changed, 186 insertions(+) create mode 100644 arch/powerpc/perf/power8-events-list.h -- 1.7.11.7 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] power7, perf: Make some new raw event codes available in sysfs 2013-10-16 5:52 [PATCH 0/2] Export POWER8 PMU raw event codes through sysfs Anshuman Khandual @ 2013-10-16 5:52 ` Anshuman Khandual 2013-12-13 2:50 ` Michael Ellerman 2013-10-16 5:53 ` [PATCH 2/2] power8, perf: Export raw event codes through sysfs interface Anshuman Khandual 1 sibling, 1 reply; 8+ messages in thread From: Anshuman Khandual @ 2013-10-16 5:52 UTC (permalink / raw) To: linuxppc-dev; +Cc: mikey, sukadev, michaele This patch adds some more raw event codes into the existing list of event codes present in power7-events-list.h file. This tries to complete the list of events supported in Power7 and matches the raw event list with libpfm4 library. Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com> --- arch/powerpc/perf/power7-events-list.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/powerpc/perf/power7-events-list.h b/arch/powerpc/perf/power7-events-list.h index 687790a..64f13d9 100644 --- a/arch/powerpc/perf/power7-events-list.h +++ b/arch/powerpc/perf/power7-events-list.h @@ -546,3 +546,13 @@ EVENT(PM_MRK_DATA_FROM_RL2L3_SHR, 0x1d04c) EVENT(PM_DTLB_MISS_16M, 0x4c05e) EVENT(PM_LSU1_LMQ_LHR_MERGE, 0x0d09a) EVENT(PM_IFU_FIN, 0x40066) +EVENT(PM_1THRD_CON_RUN_INSTR, 0x30062) +EVENT(PM_CMPLU_STALL_COUNT, 0x4000B) +EVENT(PM_MEM0_PB_RD_CL, 0x30083) +EVENT(PM_THRD_1_RUN_CYC, 0x10060) +EVENT(PM_THRD_2_CONC_RUN_INSTR, 0x40062) +EVENT(PM_THRD_2_RUN_CYC, 0x20060) +EVENT(PM_THRD_3_CONC_RUN_INST, 0x10062) +EVENT(PM_THRD_3_RUN_CYC, 0x30060) +EVENT(PM_THRD_4_CONC_RUN_INST, 0x20062) +EVENT(PM_THRD_4_RUN_CYC, 0x40060) -- 1.7.11.7 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] power7, perf: Make some new raw event codes available in sysfs 2013-10-16 5:52 ` [PATCH 1/2] power7, perf: Make some new raw event codes available in sysfs Anshuman Khandual @ 2013-12-13 2:50 ` Michael Ellerman 2013-12-13 4:30 ` Anshuman Khandual 0 siblings, 1 reply; 8+ messages in thread From: Michael Ellerman @ 2013-12-13 2:50 UTC (permalink / raw) To: Anshuman Khandual; +Cc: linuxppc-dev, mikey, sukadev On Wed, 2013-10-16 at 11:22 +0530, Anshuman Khandual wrote: > This patch adds some more raw event codes into the existing list > of event codes present in power7-events-list.h file. This tries > to complete the list of events supported in Power7 and matches > the raw event list with libpfm4 library. It's a bit annoying, but you also need to update the "ABI" document: Documentation/ABI/testing/sysfs-bus-event_source-devices-events Please do so and resend. cheers ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] power7, perf: Make some new raw event codes available in sysfs 2013-12-13 2:50 ` Michael Ellerman @ 2013-12-13 4:30 ` Anshuman Khandual 2013-12-18 1:59 ` Michael Ellerman 0 siblings, 1 reply; 8+ messages in thread From: Anshuman Khandual @ 2013-12-13 4:30 UTC (permalink / raw) To: Michael Ellerman; +Cc: linuxppc-dev, mikey, sukadev On 12/13/2013 08:20 AM, Michael Ellerman wrote: > On Wed, 2013-10-16 at 11:22 +0530, Anshuman Khandual wrote: >> This patch adds some more raw event codes into the existing list >> of event codes present in power7-events-list.h file. This tries >> to complete the list of events supported in Power7 and matches >> the raw event list with libpfm4 library. > > It's a bit annoying, but you also need to update the "ABI" document: What is annoying ? you need to be specific. > > Documentation/ABI/testing/sysfs-bus-event_source-devices-events > The events listed under the following heading are events required to do CPI analysis. "Description: POWER-systems specific performance monitoring event" /sys/devices/cpu/events/PM_1PLUS_PPC_CMPL /sys/devices/cpu/events/PM_BRU_FIN /sys/devices/cpu/events/PM_BR_MPRED /sys/devices/cpu/events/PM_CMPLU_STALL /sys/devices/cpu/events/PM_CMPLU_STALL_BRU /sys/devices/cpu/events/PM_CMPLU_STALL_DCACHE_MISS /sys/devices/cpu/events/PM_CMPLU_STALL_DFU /sys/devices/cpu/events/PM_CMPLU_STALL_DIV /sys/devices/cpu/events/PM_CMPLU_STALL_ERAT_MISS /sys/devices/cpu/events/PM_CMPLU_STALL_FXU /sys/devices/cpu/events/PM_CMPLU_STALL_IFU /sys/devices/cpu/events/PM_CMPLU_STALL_LSU /sys/devices/cpu/events/PM_CMPLU_STALL_REJECT /sys/devices/cpu/events/PM_CMPLU_STALL_SCALAR /sys/devices/cpu/events/PM_CMPLU_STALL_SCALAR_LONG /sys/devices/cpu/events/PM_CMPLU_STALL_STORE /sys/devices/cpu/events/PM_CMPLU_STALL_THRD /sys/devices/cpu/events/PM_CMPLU_STALL_VECTOR /sys/devices/cpu/events/PM_CMPLU_STALL_VECTOR_LONG /sys/devices/cpu/events/PM_CYC /sys/devices/cpu/events/PM_GCT_NOSLOT_BR_MPRED /sys/devices/cpu/events/PM_GCT_NOSLOT_BR_MPRED_IC_MISS /sys/devices/cpu/events/PM_GCT_NOSLOT_CYC /sys/devices/cpu/events/PM_GCT_NOSLOT_IC_MISS /sys/devices/cpu/events/PM_GRP_CMPL /sys/devices/cpu/events/PM_INST_CMPL /sys/devices/cpu/events/PM_LD_MISS_L1 /sys/devices/cpu/events/PM_LD_REF_L1 /sys/devices/cpu/events/PM_RUN_CYC /sys/devices/cpu/events/PM_RUN_INST_CMPL But I am not sure the events the current patch in context adds +EVENT(PM_1THRD_CON_RUN_INSTR, 0x30062) +EVENT(PM_CMPLU_STALL_COUNT, 0x4000B) +EVENT(PM_MEM0_PB_RD_CL, 0x30083) +EVENT(PM_THRD_1_RUN_CYC, 0x10060) +EVENT(PM_THRD_2_CONC_RUN_INSTR, 0x40062) +EVENT(PM_THRD_2_RUN_CYC, 0x20060) +EVENT(PM_THRD_3_CONC_RUN_INST, 0x10062) +EVENT(PM_THRD_3_RUN_CYC, 0x30060) +EVENT(PM_THRD_4_CONC_RUN_INST, 0x20062) +EVENT(PM_THRD_4_RUN_CYC, 0x40060) will be helpful in CPI stack analysis and should be part of the ABI documentation file. If it does, I will be glad to add them. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] power7, perf: Make some new raw event codes available in sysfs 2013-12-13 4:30 ` Anshuman Khandual @ 2013-12-18 1:59 ` Michael Ellerman 2014-01-02 5:05 ` Anshuman Khandual 0 siblings, 1 reply; 8+ messages in thread From: Michael Ellerman @ 2013-12-18 1:59 UTC (permalink / raw) To: Anshuman Khandual; +Cc: linuxppc-dev, mikey, sukadev On Fri, 2013-12-13 at 10:00 +0530, Anshuman Khandual wrote: > On 12/13/2013 08:20 AM, Michael Ellerman wrote: > > On Wed, 2013-10-16 at 11:22 +0530, Anshuman Khandual wrote: > >> This patch adds some more raw event codes into the existing list > >> of event codes present in power7-events-list.h file. This tries > >> to complete the list of events supported in Power7 and matches > >> the raw event list with libpfm4 library. > > > > It's a bit annoying, but you also need to update the "ABI" document: > > What is annoying ? you need to be specific. It's annoying that we have to update the ABI document. > > Documentation/ABI/testing/sysfs-bus-event_source-devices-events > > > > The events listed under the following heading are events required to do > CPI analysis. No they are not, it doesn't say that anywhere in the file. It happens that the events in there *now* are the CPI events, but that's because they are the only ones that have been added. > "Description: POWER-systems specific performance monitoring event" > > /sys/devices/cpu/events/PM_1PLUS_PPC_CMPL > /sys/devices/cpu/events/PM_BRU_FIN > /sys/devices/cpu/events/PM_BR_MPRED > /sys/devices/cpu/events/PM_CMPLU_STALL All events that appear in /sys/devices/cpu/events on powerpc should be listed in the file. cheers ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] power7, perf: Make some new raw event codes available in sysfs 2013-12-18 1:59 ` Michael Ellerman @ 2014-01-02 5:05 ` Anshuman Khandual 0 siblings, 0 replies; 8+ messages in thread From: Anshuman Khandual @ 2014-01-02 5:05 UTC (permalink / raw) To: Michael Ellerman; +Cc: linuxppc-dev, mikey, sukadev On 12/18/2013 07:29 AM, Michael Ellerman wrote: > On Fri, 2013-12-13 at 10:00 +0530, Anshuman Khandual wrote: >> On 12/13/2013 08:20 AM, Michael Ellerman wrote: >>> On Wed, 2013-10-16 at 11:22 +0530, Anshuman Khandual wrote: >>>> This patch adds some more raw event codes into the existing list >>>> of event codes present in power7-events-list.h file. This tries >>>> to complete the list of events supported in Power7 and matches >>>> the raw event list with libpfm4 library. >>> >>> It's a bit annoying, but you also need to update the "ABI" document: >> >> What is annoying ? you need to be specific. > > It's annoying that we have to update the ABI document. > >>> Documentation/ABI/testing/sysfs-bus-event_source-devices-events >>> >> >> The events listed under the following heading are events required to do >> CPI analysis. > > No they are not, it doesn't say that anywhere in the file. > > It happens that the events in there *now* are the CPI events, but that's because > they are the only ones that have been added. > >> "Description: POWER-systems specific performance monitoring event" >> >> /sys/devices/cpu/events/PM_1PLUS_PPC_CMPL >> /sys/devices/cpu/events/PM_BRU_FIN >> /sys/devices/cpu/events/PM_BR_MPRED >> /sys/devices/cpu/events/PM_CMPLU_STALL > > All events that appear in /sys/devices/cpu/events on powerpc should be listed > in the file. Done, sent out the V2 version of the patch for POWER7 adding all the sysfs exported raw events into the ABI documentation file. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] power8, perf: Export raw event codes through sysfs interface 2013-10-16 5:52 [PATCH 0/2] Export POWER8 PMU raw event codes through sysfs Anshuman Khandual 2013-10-16 5:52 ` [PATCH 1/2] power7, perf: Make some new raw event codes available in sysfs Anshuman Khandual @ 2013-10-16 5:53 ` Anshuman Khandual 2014-02-07 7:25 ` Michael Ellerman 1 sibling, 1 reply; 8+ messages in thread From: Anshuman Khandual @ 2013-10-16 5:53 UTC (permalink / raw) To: linuxppc-dev; +Cc: mikey, sukadev, michaele This patch exports a set of POWER8 PMU raw event codes through sysfs interface. Right now the raw event set matches the entire set of POWER8 events found in libpfm4 library. Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com> --- arch/powerpc/perf/power8-events-list.h | 146 +++++++++++++++++++++++++++++++++ arch/powerpc/perf/power8-pmu.c | 30 +++++++ 2 files changed, 176 insertions(+) create mode 100644 arch/powerpc/perf/power8-events-list.h diff --git a/arch/powerpc/perf/power8-events-list.h b/arch/powerpc/perf/power8-events-list.h new file mode 100644 index 0000000..ee5b40e --- /dev/null +++ b/arch/powerpc/perf/power8-events-list.h @@ -0,0 +1,146 @@ +/* + * Performance counter support for POWER8 processors. + * + * Copyright 2013 Anshuman Khandual, IBM Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +EVENT(PM_1PLUS_PPC_CMPL, 0x04898) +EVENT(PM_1PLUS_PPC_DISP, 0x400f2) +EVENT(PM_ANY_THRD_RUN_CYC, 0x100fa) +EVENT(PM_BR_TAKEN_CMPL, 0x200fa) +EVENT(PM_DATA_FROM_L2MISS, 0x200fe) +EVENT(PM_DATA_FROM_L3MISS, 0x300fe) +EVENT(PM_DATA_FROM_MEM, 0x400fe) +EVENT(PM_DTLB_MISS, 0x300fc) +EVENT(PM_EXT_INT, 0x200f8) +EVENT(PM_FLOP, 0x100f4) +EVENT(PM_FLUSH, 0x400f8) +EVENT(PM_IERAT_MISS, 0x100f6) +EVENT(PM_INST_DISP, 0x200f2) +EVENT(PM_INST_FROM_L3MISS, 0x300fa) +EVENT(PM_ITLB_MISS, 0x400fc) +EVENT(PM_L1_DCACHE_RELOAD_VALID, 0x300f6) +EVENT(PM_L1_ICACHE_MISS, 0x200fc) +EVENT(PM_LD_MISS_L1, 0x400f0) +EVENT(PM_LSU_DERAT_MISS, 0x200f6) +EVENT(PM_MRK_BR_MPRED_CMPL, 0x300e4) +EVENT(PM_MRK_BR_TAKEN_CMPL, 0x100e2) +EVENT(PM_MRK_DATA_FROM_L2MISS, 0x400e8) +EVENT(PM_MRK_DATA_FROM_L3MISS, 0x200e4) +EVENT(PM_MRK_DATA_FROM_MEM, 0x200e0) +EVENT(PM_MRK_DERAT_MISS, 0x300e6) +EVENT(PM_MRK_DTLB_MISS, 0x400e4) +EVENT(PM_MRK_INST_CMPL, 0x400e0) +EVENT(PM_MRK_INST_DISP, 0x100e0) +EVENT(PM_MRK_INST_FROM_L3MISS, 0x400e6) +EVENT(PM_MRK_L1_ICACHE_MISS, 0x100e4) +EVENT(PM_MRK_L1_RELOAD_VALID, 0x100ea) +EVENT(PM_MRK_LD_MISS_L1, 0x200e2) +EVENT(PM_MRK_ST_CMPL, 0x300e2) +EVENT(PM_RUN_CYC, 0x600f4) +EVENT(PM_RUN_INST_CMPL, 0x500fa) +EVENT(PM_RUN_PURR, 0x400f4) +EVENT(PM_ST_FIN, 0x200f0) +EVENT(PM_ST_MISS_L1, 0x300f0) +EVENT(PM_TB_BIT_TRANS, 0x300f8) +EVENT(PM_THRD_CONC_RUN_INST, 0x300f4) +EVENT(PM_THRESH_EXC_1024, 0x300ea) +EVENT(PM_THRESH_EXC_128, 0x400ea) +EVENT(PM_THRESH_EXC_2048, 0x400ec) +EVENT(PM_THRESH_EXC_256, 0x100e8) +EVENT(PM_THRESH_EXC_32, 0x200e6) +EVENT(PM_THRESH_EXC_4096, 0x100e6) +EVENT(PM_THRESH_EXC_512, 0x200e8) +EVENT(PM_THRESH_EXC_64, 0x300e8) +EVENT(PM_THRESH_MET, 0x100ec) +EVENT(PM_BR_2PATH, 0x40036) +EVENT(PM_BR_CMPL, 0x40060) +EVENT(PM_BR_MRK_2PATH, 0x40138) +EVENT(PM_CMPLU_STALL_BRU, 0x4d018) +EVENT(PM_CMPLU_STALL_BRU_CRU, 0x2d018) +EVENT(PM_CMPLU_STALL_COQ_FULL, 0x30026) +EVENT(PM_CMPLU_STALL_DCACHE_MISS, 0x2c012) +EVENT(PM_CMPLU_STALL_DMISS_L21_L31, 0x2c018) +EVENT(PM_CMPLU_STALL_DMISS_L2L3, 0x2c016) +EVENT(PM_CMPLU_STALL_DMISS_L2L3_CONFLICT, 0x4c016) +EVENT(PM_CMPLU_STALL_DMISS_L3MISS, 0x4c01a) +EVENT(PM_CMPLU_STALL_DMISS_LMEM, 0x4c018) +EVENT(PM_CMPLU_STALL_DMISS_REMOTE, 0x2c01c) +EVENT(PM_CMPLU_STALL_ERAT_MISS, 0x4c012) +EVENT(PM_CMPLU_STALL_FLUSH, 0x30038) +EVENT(PM_CMPLU_STALL_FXLONG, 0x4d016) +EVENT(PM_CMPLU_STALL_FXU, 0x2d016) +EVENT(PM_CMPLU_STALL_HWSYNC, 0x30036) +EVENT(PM_CMPLU_STALL_LOAD_FINISH, 0x4d014) +EVENT(PM_CMPLU_STALL_LSU, 0x2c010) +EVENT(PM_CMPLU_STALL_LWSYNC, 0x10036) +EVENT(PM_CMPLU_STALL_MEM_ECC_DELAY, 0x30028) +EVENT(PM_CMPLU_STALL_NTCG_FLUSH, 0x2e01e) +EVENT(PM_CMPLU_STALL_OTHER_CMPL, 0x30006) +EVENT(PM_CMPLU_STALL_REJECT, 0x4c010) +EVENT(PM_CMPLU_STALL_REJECT_LHS, 0x2c01a) +EVENT(PM_CMPLU_STALL_REJ_LMQ_FULL, 0x4c014) +EVENT(PM_CMPLU_STALL_SCALAR, 0x4d010) +EVENT(PM_CMPLU_STALL_SCALAR_LONG, 0x2d010) +EVENT(PM_CMPLU_STALL_STORE, 0x2c014) +EVENT(PM_CMPLU_STALL_ST_FWD, 0x4c01c) +EVENT(PM_CMPLU_STALL_THRD, 0x1001c) +EVENT(PM_CMPLU_STALL_VECTOR, 0x2d014) +EVENT(PM_CMPLU_STALL_VECTOR_LONG, 0x4d012) +EVENT(PM_CMPLU_STALL_VSU, 0x2d012) +EVENT(PM_DATA_FROM_L2, 0x1c042) +EVENT(PM_DATA_FROM_L2_NO_CONFLICT, 0x1c040) +EVENT(PM_DATA_FROM_L3, 0x4c042) +EVENT(PM_DATA_FROM_L3MISS_MOD, 0x4c04e) +EVENT(PM_DATA_FROM_L3_NO_CONFLICT, 0x1c044) +EVENT(PM_DATA_FROM_LMEM, 0x2c048) +EVENT(PM_DATA_FROM_MEMORY, 0x2c04c) +EVENT(PM_DC_PREF_STREAM_STRIDED_CONF, 0x3e050) +EVENT(PM_GCT_NOSLOT_BR_MPRED, 0x4d01e) +EVENT(PM_GCT_NOSLOT_BR_MPRED_ICMISS, 0x4d01a) +EVENT(PM_GCT_NOSLOT_DISP_HELD_ISSQ, 0x2d01e) +EVENT(PM_GCT_NOSLOT_DISP_HELD_OTHER, 0x2e010) +EVENT(PM_GCT_NOSLOT_DISP_HELD_SRQ, 0x2d01c) +EVENT(PM_GCT_NOSLOT_IC_L3MISS, 0x4e010) +EVENT(PM_GCT_NOSLOT_IC_MISS, 0x2d01a) +EVENT(PM_GRP_DISP, 0x3000a) +EVENT(PM_GRP_MRK, 0x10130) +EVENT(PM_HV_CYC, 0x2000a) +EVENT(PM_IOPS_CMPL, 0x10014) +EVENT(PM_LD_CMPL, 0x1002e) +EVENT(PM_LD_L3MISS_PEND_CYC, 0x10062) +EVENT(PM_MRK_DATA_FROM_L2, 0x1d142) +EVENT(PM_MRK_DATA_FROM_L2MISS_CYC, 0x4c12e) +EVENT(PM_MRK_DATA_FROM_L2_CYC, 0x4c122) +EVENT(PM_MRK_DATA_FROM_L2_NO_CONFLICT, 0x1d140) +EVENT(PM_MRK_DATA_FROM_L2_NO_CONFLICT_CYC, 0x4c120) +EVENT(PM_MRK_DATA_FROM_L3, 0x4d142) +EVENT(PM_MRK_DATA_FROM_L3MISS_CYC, 0x2d12e) +EVENT(PM_MRK_DATA_FROM_L3_CYC, 0x2d122) +EVENT(PM_MRK_DATA_FROM_L3_NO_CONFLICT, 0x1d144) +EVENT(PM_MRK_DATA_FROM_L3_NO_CONFLICT_CYC, 0x4c124) +EVENT(PM_MRK_DATA_FROM_LL4, 0x1d14c) +EVENT(PM_MRK_DATA_FROM_LL4_CYC, 0x4c12c) +EVENT(PM_MRK_DATA_FROM_LMEM, 0x2d148) +EVENT(PM_MRK_DATA_FROM_LMEM_CYC, 0x4d128) +EVENT(PM_MRK_DATA_FROM_MEMORY, 0x2d14c) +EVENT(PM_MRK_DATA_FROM_MEMORY_CYC, 0x4d12c) +EVENT(PM_MRK_GRP_CMPL, 0x40130) +EVENT(PM_MRK_INST_DECODED, 0x20130) +EVENT(PM_MRK_L2_RC_DISP, 0x20114) +EVENT(PM_MRK_LD_MISS_L1_CYC, 0x4013e) +EVENT(PM_MRK_STALL_CMPLU_CYC, 0x3013e) +EVENT(PM_NEST_REF_CLK, 0x3006e) +EVENT(PM_PMC1_OVERFLOW, 0x20010) +EVENT(PM_PMC2_OVERFLOW, 0x30010) +EVENT(PM_PMC3_OVERFLOW, 0x40010) +EVENT(PM_PMC4_OVERFLOW, 0x10010) +EVENT(PM_PMC6_OVERFLOW, 0x30024) +EVENT(PM_PPC_CMPL, 0x40002) +EVENT(PM_THRD_ALL_RUN_CYC, 0x2000c) +EVENT(PM_THRESH_NOT_MET, 0x4016e) diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c index a3f7abd..6897cc3 100644 --- a/arch/powerpc/perf/power8-pmu.c +++ b/arch/powerpc/perf/power8-pmu.c @@ -25,6 +25,16 @@ #define PM_BRU_FIN 0x10068 #define PM_BR_MPRED_CMPL 0x400f6 +/* + * Power8 event codes. + */ +#define EVENT(_name, _code) \ + PME_##_name = _code, +enum { + #include "power8-events-list.h" +}; +#undef EVENT + /* * Raw event encoding for POWER8: @@ -540,6 +550,25 @@ static struct attribute *power8_pmu_format_attr[] = { NULL, }; + +#define EVENT(_name, _code) POWER_EVENT_ATTR(_name, _name); +#include "power8-events-list.h" +#undef EVENT + +#define EVENT(_name, _code) POWER_EVENT_PTR(_name), + +static struct attribute *power8_events_attr[] = { + #include "power8-events-list.h" + #undef EVENT + NULL +}; + + +static struct attribute_group power8_pmu_events_group = { + .name = "events", + .attrs = power8_events_attr, +}; + struct attribute_group power8_pmu_format_group = { .name = "format", .attrs = power8_pmu_format_attr, @@ -547,6 +576,7 @@ struct attribute_group power8_pmu_format_group = { static const struct attribute_group *power8_pmu_attr_groups[] = { &power8_pmu_format_group, + &power8_pmu_events_group, NULL, }; -- 1.7.11.7 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] power8, perf: Export raw event codes through sysfs interface 2013-10-16 5:53 ` [PATCH 2/2] power8, perf: Export raw event codes through sysfs interface Anshuman Khandual @ 2014-02-07 7:25 ` Michael Ellerman 0 siblings, 0 replies; 8+ messages in thread From: Michael Ellerman @ 2014-02-07 7:25 UTC (permalink / raw) To: Anshuman Khandual; +Cc: linuxppc-dev, mikey, sukadev On Wed, 2013-10-16 at 11:23 +0530, Anshuman Khandual wrote: > This patch exports a set of POWER8 PMU raw event codes through > sysfs interface. Right now the raw event set matches the entire > set of POWER8 events found in libpfm4 library. As for the POWER7 events, these all need to be in the ABI file too. Please update & resend. cheers ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-02-07 7:25 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-10-16 5:52 [PATCH 0/2] Export POWER8 PMU raw event codes through sysfs Anshuman Khandual 2013-10-16 5:52 ` [PATCH 1/2] power7, perf: Make some new raw event codes available in sysfs Anshuman Khandual 2013-12-13 2:50 ` Michael Ellerman 2013-12-13 4:30 ` Anshuman Khandual 2013-12-18 1:59 ` Michael Ellerman 2014-01-02 5:05 ` Anshuman Khandual 2013-10-16 5:53 ` [PATCH 2/2] power8, perf: Export raw event codes through sysfs interface Anshuman Khandual 2014-02-07 7:25 ` Michael Ellerman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).