* [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
* [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 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
* 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).