[PATCH 1/6][v3] perf/Power7: Use macros to identify perf events
Define and use macros to identify perf events codes. This would make it
easier and more readable when these event codes need to be used in more
than one place.
Signed-off-by: Sukadev Bhattiprolu <redacted>
---
arch/powerpc/perf/power7-pmu.c | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
[PATCH 2/6][v3] perf: Make EVENT_ATTR global
Rename EVENT_ATTR() to PMU_EVENT_ATTR() and make it global so it is
available to all architectures.
Further to allow architectures flexibility, have PMU_EVENT_ATTR() pass
in the variable name as a parameter.
Changelog[v3]
- [Jiri Olsa] No need to define PMU_EVENT_PTR()
Signed-off-by: Sukadev Bhattiprolu <redacted>
---
arch/x86/kernel/cpu/perf_event.c | 13 +++----------
include/linux/perf_event.h | 11 +++++++++++
2 files changed, 14 insertions(+), 10 deletions(-)
[PATCH 3/6][v3] perf/POWER7: Make generic event translations available in sysfs
Make the generic perf events in POWER7 available via sysfs.
$ ls /sys/bus/event_source/devices/cpu/events
branch-instructions
branch-misses
cache-misses
cache-references
cpu-cycles
instructions
stalled-cycles-backend
stalled-cycles-frontend
$ cat /sys/bus/event_source/devices/cpu/events/cache-misses
event=0x400f0
This patch is based on commits that implement this functionality on x86.
Eg:
commit a47473939db20e3961b200eb00acf5fcf084d755
Author: Jiri Olsa [off-list ref]
Date: Wed Oct 10 14:53:11 2012 +0200
perf/x86: Make hardware event translations available in sysfs
Changelog:[v3]
[Jiri Olsa] Drop EVENT_ID() macro since it is only used once.
Signed-off-by: Sukadev Bhattiprolu <redacted>
---
arch/powerpc/include/asm/perf_event_server.h | 24 ++++++++++++++
arch/powerpc/perf/core-book3s.c | 12 +++++++
arch/powerpc/perf/power7-pmu.c | 34 +++++++++++++++++++++
3 files changed, 70 insertions(+), 0 deletions(-)
create mode 100644 Documentation/ABI/stable/sysfs-devices-cpu-events
[PATCH 4/6][v3] perf/POWER7: Make some POWER7 events available in sysfs
Make some POWER7-specific perf events available in sysfs.
$ /bin/ls -1 /sys/bus/event_source/devices/cpu/events/
branch-instructions
branch-misses
cache-misses
cache-references
cpu-cycles
instructions
PM_BRU_FIN
PM_BRU_MPRED
PM_CMPLU_STALL
PM_CYC
PM_GCT_NOSLOT_CYC
PM_INST_CMPL
PM_LD_MISS_L1
PM_LD_REF_L1
stalled-cycles-backend
stalled-cycles-frontend
where the 'PM_*' events are POWER specific and the others are the
generic events.
This will enable users to specify these events with their symbolic
names rather than with their raw code.
perf stat -e 'cpu/PM_CYC/' ...
Signed-off-by: Sukadev Bhattiprolu <redacted>
---
arch/powerpc/include/asm/perf_event_server.h | 2 ++
arch/powerpc/perf/power7-pmu.c | 18 ++++++++++++++++++
2 files changed, 20 insertions(+), 0 deletions(-)
[PATCH 5/6][v3] perf: Create a sysfs entry for Power event format
Create a sysfs entry, '/sys/bus/event_source/devices/cpu/format/event'
which describes the format of a POWER cpu.
The format of the event is the same for all POWER cpus at least in
(Power6, Power7), so bulk of this change is common in the code common
to POWER cpus.
This code is based on corresponding code in x86.
Changelog[v2]: [Jiri Olsa] Use PMU_FORMAT_ATTR() rather than duplicating it.
Signed-off-by: Sukadev Bhattiprolu <redacted>
---
arch/powerpc/include/asm/perf_event_server.h | 6 ++++++
arch/powerpc/perf/core-book3s.c | 12 ++++++++++++
arch/powerpc/perf/power7-pmu.c | 1 +
3 files changed, 19 insertions(+), 0 deletions(-)
[PATCH 6/6][v3] perf: Document the ABI of perf sysfs entries
This patchset addes two new sets of files to sysfs:
- generic and POWER-specific perf events in /sys/devices/cpu/events/
- perf event config format in /sys/devices/cpu/format/event
Document the format of these files which would become part of the ABI.
Changelog[v3]:
[Greg KH] Include ABI documentation.
Signed-off-by: Sukadev Bhattiprolu <redacted>
---
Documentation/ABI/stable/sysfs-devices-cpu-events | 54 +++++++++++++++++++++
Documentation/ABI/stable/sysfs-devices-cpu-format | 27 ++++++++++
2 files changed, 81 insertions(+), 0 deletions(-)
create mode 100644 Documentation/ABI/stable/sysfs-devices-cpu-format
@@ -0,0 +1,54 @@+What: /sys/devices/cpu/events/+ /sys/devices/cpu/events/branch-misses+ /sys/devices/cpu/events/cache-references+ /sys/devices/cpu/events/cache-misses+ /sys/devices/cpu/events/stalled-cycles-frontend+ /sys/devices/cpu/events/branch-instructions+ /sys/devices/cpu/events/stalled-cycles-backend+ /sys/devices/cpu/events/instructions+ /sys/devices/cpu/events/cpu-cycles++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>++Description: Generic performance monitoring events++ A collection of performance monitoring events that may be+ supported by many/most CPUs. These events can be monitored+ using the 'perf(1)' tool.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit.+++What: /sys/devices/cpu/events/PM_LD_MISS_L1+ /sys/devices/cpu/events/PM_LD_REF_L1+ /sys/devices/cpu/events/PM_CYC+ /sys/devices/cpu/events/PM_BRU_FIN+ /sys/devices/cpu/events/PM_GCT_NOSLOT_CYC+ /sys/devices/cpu/events/PM_BRU_MPRED+ /sys/devices/cpu/events/PM_INST_CMPL+ /sys/devices/cpu/events/PM_CMPLU_STALL++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>+ Linux Powerpc mailing list <linuxppc-dev@ozlabs.org>++Description: POWER specific performance monitoring events++ A collection of performance monitoring events that may be+ supported by the POWER CPU. These events can be monitored+ using the 'perf(1)' tool.++ These events may not be supported by other CPUs.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit.
@@ -0,0 +1,27 @@+What: /sys/devices/cpu/format/+ /sys/devices/cpu/format/event++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>++Description: Format of performance monitoring events++ Each CPU/architecture may use different format to represent+ the perf event. The 'event' file describes the configuration+ format of the performance monitoring event on the CPU/system.++ The contents of each file would look like:++ config:m-n++ where m and n are the starting and ending bits that are+ used to represent the event.++ For example, on POWER,++ $ cat /sys/devices/cpu/format/event+ config:0-20++ meaning that POWER uses the first 20-bits to represent a perf+ event.
From: Arnaldo Carvalho de Melo <hidden> Date: 2013-01-15 18:58:12
Em Wed, Jan 09, 2013 at 05:07:03PM -0800, Sukadev Bhattiprolu escreveu:
[PATCH 6/6][v3] perf: Document the ABI of perf sysfs entries
This patchset addes two new sets of files to sysfs:
- generic and POWER-specific perf events in /sys/devices/cpu/events/
- perf event config format in /sys/devices/cpu/format/event
Document the format of these files which would become part of the ABI.
Changelog[v3]:
[Greg KH] Include ABI documentation.
Jiri, can I have your ack on this one too?
Greg, all ok now?
- Arnaldo
@@ -0,0 +1,54 @@+What: /sys/devices/cpu/events/+ /sys/devices/cpu/events/branch-misses+ /sys/devices/cpu/events/cache-references+ /sys/devices/cpu/events/cache-misses+ /sys/devices/cpu/events/stalled-cycles-frontend+ /sys/devices/cpu/events/branch-instructions+ /sys/devices/cpu/events/stalled-cycles-backend+ /sys/devices/cpu/events/instructions+ /sys/devices/cpu/events/cpu-cycles++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>++Description: Generic performance monitoring events++ A collection of performance monitoring events that may be+ supported by many/most CPUs. These events can be monitored+ using the 'perf(1)' tool.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit.+++What: /sys/devices/cpu/events/PM_LD_MISS_L1+ /sys/devices/cpu/events/PM_LD_REF_L1+ /sys/devices/cpu/events/PM_CYC+ /sys/devices/cpu/events/PM_BRU_FIN+ /sys/devices/cpu/events/PM_GCT_NOSLOT_CYC+ /sys/devices/cpu/events/PM_BRU_MPRED+ /sys/devices/cpu/events/PM_INST_CMPL+ /sys/devices/cpu/events/PM_CMPLU_STALL++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>+ Linux Powerpc mailing list <linuxppc-dev@ozlabs.org>++Description: POWER specific performance monitoring events++ A collection of performance monitoring events that may be+ supported by the POWER CPU. These events can be monitored+ using the 'perf(1)' tool.++ These events may not be supported by other CPUs.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit.
@@ -0,0 +1,27 @@+What: /sys/devices/cpu/format/+ /sys/devices/cpu/format/event++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>++Description: Format of performance monitoring events++ Each CPU/architecture may use different format to represent+ the perf event. The 'event' file describes the configuration+ format of the performance monitoring event on the CPU/system.++ The contents of each file would look like:++ config:m-n++ where m and n are the starting and ending bits that are+ used to represent the event.++ For example, on POWER,++ $ cat /sys/devices/cpu/format/event+ config:0-20++ meaning that POWER uses the first 20-bits to represent a perf+ event.
On Tue, Jan 15, 2013 at 03:57:59PM -0300, Arnaldo Carvalho de Melo wrote:
Em Wed, Jan 09, 2013 at 05:07:03PM -0800, Sukadev Bhattiprolu escreveu:
quoted
[PATCH 6/6][v3] perf: Document the ABI of perf sysfs entries
This patchset addes two new sets of files to sysfs:
- generic and POWER-specific perf events in /sys/devices/cpu/events/
- perf event config format in /sys/devices/cpu/format/event
Document the format of these files which would become part of the ABI.
Changelog[v3]:
[Greg KH] Include ABI documentation.
Jiri, can I have your ack on this one too?
Greg, all ok now?
From: Jiri Olsa <hidden> Date: 2013-01-16 11:54:00
On Tue, Jan 15, 2013 at 03:57:59PM -0300, Arnaldo Carvalho de Melo wrote:
Em Wed, Jan 09, 2013 at 05:07:03PM -0800, Sukadev Bhattiprolu escreveu:
quoted
[PATCH 6/6][v3] perf: Document the ABI of perf sysfs entries
This patchset addes two new sets of files to sysfs:
- generic and POWER-specific perf events in /sys/devices/cpu/events/
- perf event config format in /sys/devices/cpu/format/event
Document the format of these files which would become part of the ABI.
Changelog[v3]:
[Greg KH] Include ABI documentation.
Jiri, can I have your ack on this one too?
hm, we already already 'format' definition but in testing section
(and we are missing 'events' definition there.. my bad)
anyway, after reading Documentation/ABI/README looks like we
should go for 'testing' section with this as well.. stable
seems scary at this point ;-)
jirka
@@ -0,0 +1,54 @@+What: /sys/devices/cpu/events/+ /sys/devices/cpu/events/branch-misses+ /sys/devices/cpu/events/cache-references+ /sys/devices/cpu/events/cache-misses+ /sys/devices/cpu/events/stalled-cycles-frontend+ /sys/devices/cpu/events/branch-instructions+ /sys/devices/cpu/events/stalled-cycles-backend+ /sys/devices/cpu/events/instructions+ /sys/devices/cpu/events/cpu-cycles++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>++Description: Generic performance monitoring events++ A collection of performance monitoring events that may be+ supported by many/most CPUs. These events can be monitored+ using the 'perf(1)' tool.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit.+++What: /sys/devices/cpu/events/PM_LD_MISS_L1+ /sys/devices/cpu/events/PM_LD_REF_L1+ /sys/devices/cpu/events/PM_CYC+ /sys/devices/cpu/events/PM_BRU_FIN+ /sys/devices/cpu/events/PM_GCT_NOSLOT_CYC+ /sys/devices/cpu/events/PM_BRU_MPRED+ /sys/devices/cpu/events/PM_INST_CMPL+ /sys/devices/cpu/events/PM_CMPLU_STALL++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>+ Linux Powerpc mailing list <linuxppc-dev@ozlabs.org>++Description: POWER specific performance monitoring events++ A collection of performance monitoring events that may be+ supported by the POWER CPU. These events can be monitored+ using the 'perf(1)' tool.++ These events may not be supported by other CPUs.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit.
@@ -0,0 +1,27 @@+What: /sys/devices/cpu/format/+ /sys/devices/cpu/format/event++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>++Description: Format of performance monitoring events++ Each CPU/architecture may use different format to represent+ the perf event. The 'event' file describes the configuration+ format of the performance monitoring event on the CPU/system.++ The contents of each file would look like:++ config:m-n++ where m and n are the starting and ending bits that are+ used to represent the event.++ For example, on POWER,++ $ cat /sys/devices/cpu/format/event+ config:0-20++ meaning that POWER uses the first 20-bits to represent a perf+ event.
Jiri Olsa [jolsa@redhat.com] wrote:
| On Tue, Jan 15, 2013 at 03:57:59PM -0300, Arnaldo Carvalho de Melo wrote:
| > Em Wed, Jan 09, 2013 at 05:07:03PM -0800, Sukadev Bhattiprolu escreveu:
| > > [PATCH 6/6][v3] perf: Document the ABI of perf sysfs entries
| > >
| > > This patchset addes two new sets of files to sysfs:
| > >
| > > - generic and POWER-specific perf events in /sys/devices/cpu/events/
| > > - perf event config format in /sys/devices/cpu/format/event
| > >
| > > Document the format of these files which would become part of the ABI.
| > >
| > > Changelog[v3]:
| > > [Greg KH] Include ABI documentation.
| >
| > Jiri, can I have your ack on this one too?
|
| hm, we already already 'format' definition but in testing section
| (and we are missing 'events' definition there.. my bad)
I see that file now ! I have removed that documentation from my patch.
|
| anyway, after reading Documentation/ABI/README looks like we
| should go for 'testing' section with this as well.. stable
| seems scary at this point ;-)
Agree.
Here is the updated patch.
---
This patchset addes two new sets of files to sysfs for POWER architecture.
- perf event config format in /sys/devices/cpu/format/event
- generic and POWER-specific perf events in /sys/devices/cpu/events/
The format of the first file is already documented in:
Documentation/ABI/testing/sysfs-bus-event_source-devices-format
Document the format of the second set of files '/sys/devices/cpu/events/*'
which would also become part of the ABI.
Changelog[v3.1]:
(small changes to this one patch).
[Jiri Olsa]: Remove the documentation for the 'config format' file
as it is already documented.
[Jiri Olsa]: Move the documentation of 'events' also to 'testing/'
Changelog[v3]:
[Greg KH] Include ABI documentation.
Signed-off-by: Sukadev Bhattiprolu <redacted>
---
.../testing/sysfs-bus-event_source-devices-events | 58 ++++++++++++++++++++
1 files changed, 58 insertions(+), 0 deletions(-)
delete mode 100644 Documentation/ABI/stable/sysfs-devices-cpu-events
create mode 100644 Documentation/ABI/testing/sysfs-bus-event_source-devices-events
@@ -0,0 +1,58 @@+What: /sys/devices/cpu/events/+ /sys/devices/cpu/events/branch-misses+ /sys/devices/cpu/events/cache-references+ /sys/devices/cpu/events/cache-misses+ /sys/devices/cpu/events/stalled-cycles-frontend+ /sys/devices/cpu/events/branch-instructions+ /sys/devices/cpu/events/stalled-cycles-backend+ /sys/devices/cpu/events/instructions+ /sys/devices/cpu/events/cpu-cycles++Date: 2012/01/NN++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>++Description: Generic performance monitoring events++ A collection of performance monitoring events that may be+ supported by many/most CPUs. These events can be monitored+ using the 'perf(1)' tool.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit and the number '0xNNNN' shows the+ "raw code" for the perf event identified by the file's+ "basename".+++What: /sys/devices/cpu/events/PM_LD_MISS_L1+ /sys/devices/cpu/events/PM_LD_REF_L1+ /sys/devices/cpu/events/PM_CYC+ /sys/devices/cpu/events/PM_BRU_FIN+ /sys/devices/cpu/events/PM_GCT_NOSLOT_CYC+ /sys/devices/cpu/events/PM_BRU_MPRED+ /sys/devices/cpu/events/PM_INST_CMPL+ /sys/devices/cpu/events/PM_CMPLU_STALL++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>+ Linux Powerpc mailing list <linuxppc-dev@ozlabs.org>++Description: POWER-systems specific performance monitoring events++ A collection of performance monitoring events that may be+ supported by the POWER CPU. These events can be monitored+ using the 'perf(1)' tool.++ These events may not be supported by other CPUs.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit and the number '0xNNNN' shows the+ "raw code" for the perf event identified by the file's+ "basename".
From: Jiri Olsa <hidden> Date: 2013-01-17 14:12:12
On Wed, Jan 16, 2013 at 10:58:16AM -0800, Sukadev Bhattiprolu wrote:
quoted hunk
Jiri Olsa [jolsa@redhat.com] wrote:
| On Tue, Jan 15, 2013 at 03:57:59PM -0300, Arnaldo Carvalho de Melo wrote:
| > Em Wed, Jan 09, 2013 at 05:07:03PM -0800, Sukadev Bhattiprolu escreveu:
| > > [PATCH 6/6][v3] perf: Document the ABI of perf sysfs entries
| > >
| > > This patchset addes two new sets of files to sysfs:
| > >
| > > - generic and POWER-specific perf events in /sys/devices/cpu/events/
| > > - perf event config format in /sys/devices/cpu/format/event
| > >
| > > Document the format of these files which would become part of the ABI.
| > >
| > > Changelog[v3]:
| > > [Greg KH] Include ABI documentation.
| >
| > Jiri, can I have your ack on this one too?
|
| hm, we already already 'format' definition but in testing section
| (and we are missing 'events' definition there.. my bad)
I see that file now ! I have removed that documentation from my patch.
|
| anyway, after reading Documentation/ABI/README looks like we
| should go for 'testing' section with this as well.. stable
| seems scary at this point ;-)
Agree.
Here is the updated patch.
---
This patchset addes two new sets of files to sysfs for POWER architecture.
- perf event config format in /sys/devices/cpu/format/event
- generic and POWER-specific perf events in /sys/devices/cpu/events/
The format of the first file is already documented in:
Documentation/ABI/testing/sysfs-bus-event_source-devices-format
Document the format of the second set of files '/sys/devices/cpu/events/*'
which would also become part of the ABI.
Changelog[v3.1]:
(small changes to this one patch).
[Jiri Olsa]: Remove the documentation for the 'config format' file
as it is already documented.
[Jiri Olsa]: Move the documentation of 'events' also to 'testing/'
Changelog[v3]:
[Greg KH] Include ABI documentation.
Signed-off-by: Sukadev Bhattiprolu <redacted>
---
.../testing/sysfs-bus-event_source-devices-events | 58 ++++++++++++++++++++
1 files changed, 58 insertions(+), 0 deletions(-)
delete mode 100644 Documentation/ABI/stable/sysfs-devices-cpu-events
create mode 100644 Documentation/ABI/testing/sysfs-bus-event_source-devices-events
@@ -0,0 +1,58 @@+What: /sys/devices/cpu/events/+ /sys/devices/cpu/events/branch-misses+ /sys/devices/cpu/events/cache-references+ /sys/devices/cpu/events/cache-misses+ /sys/devices/cpu/events/stalled-cycles-frontend+ /sys/devices/cpu/events/branch-instructions+ /sys/devices/cpu/events/stalled-cycles-backend+ /sys/devices/cpu/events/instructions+ /sys/devices/cpu/events/cpu-cycles++Date: 2012/01/NN++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>++Description: Generic performance monitoring events++ A collection of performance monitoring events that may be+ supported by many/most CPUs. These events can be monitored+ using the 'perf(1)' tool.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit and the number '0xNNNN' shows the+ "raw code" for the perf event identified by the file's+ "basename".
Maybe it'd worth to mention, that it does not need to be just 'event',
but anything from /sys/bus/event_source/devices/<dev>/format directory,
like
The can be multiple terms like 'event=0xNNNN' specified
and separated with comma. All available terms are located
in /sys/bus/event_source/devices/<dev>/format file.
Please feel free to rephrase or use proper English ;-)
otherwise it's ok,
jirka
Jiri Olsa [jolsa@redhat.com] wrote:
| Maybe it'd worth to mention, that it does not need to be just 'event',
| but anything from /sys/bus/event_source/devices/<dev>/format directory,
| like
|
| The can be multiple terms like 'event=0xNNNN' specified
| and separated with comma. All available terms are located
| in /sys/bus/event_source/devices/<dev>/format file.
|
| Please feel free to rephrase or use proper English ;-)
|
| otherwise it's ok,
| jirka
Agree. Thanks for the review. Here is the updated patch.
---
From 1e3cc6b3ef87f533985b10574af472361e39eecd Mon Sep 17 00:00:00 2001
From: Sukadev Bhattiprolu <redacted>
Date: Tue, 8 Jan 2013 22:31:49 -0800
Subject: [PATCH] perf: Document the ABI of perf sysfs entries
This patchset addes two new sets of files to sysfs for POWER architecture.
- perf event config format in /sys/devices/cpu/format/event
- generic and POWER-specific perf events in /sys/devices/cpu/events/
The format of the first file is already documented in:
sysfs-bus-event_source-devices-format
Document the format of the second set of files '/sys/devices/cpu/events/*'
which would also become part of the ABI.
Changelog[v3.2]: (small changes to this one patch).
[Jiri Olsa]: Mention that multiple event= like terms can be specified
in the 'events' file.
Changelog[v3.1]:
(small changes to just this one patch).
[Jiri Olsa]: Remove the documentation for the 'config format' file
as it is already documented in 'Documentation/ABI/testing/'.
[Jiri Olsa]: Move the documentation of 'events' also to 'testing'
from 'stable'.
Changelog[v3]:
[Greg KH] Include ABI documentation.
Signed-off-by: Sukadev Bhattiprolu <redacted>
---
.../testing/sysfs-bus-event_source-devices-events | 62 ++++++++++++++++++++
1 files changed, 62 insertions(+), 0 deletions(-)
delete mode 100644 Documentation/ABI/stable/sysfs-devices-cpu-events
create mode 100644 Documentation/ABI/testing/sysfs-bus-event_source-devices-events
@@ -0,0 +1,62 @@+What: /sys/devices/cpu/events/+ /sys/devices/cpu/events/branch-misses+ /sys/devices/cpu/events/cache-references+ /sys/devices/cpu/events/cache-misses+ /sys/devices/cpu/events/stalled-cycles-frontend+ /sys/devices/cpu/events/branch-instructions+ /sys/devices/cpu/events/stalled-cycles-backend+ /sys/devices/cpu/events/instructions+ /sys/devices/cpu/events/cpu-cycles++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>++Description: Generic performance monitoring events++ A collection of performance monitoring events that may be+ supported by many/most CPUs. These events can be monitored+ using the 'perf(1)' tool.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit and the number '0xNNNN' shows the+ "raw code" for the perf event identified by the file's+ "basename".+++What: /sys/devices/cpu/events/PM_LD_MISS_L1+ /sys/devices/cpu/events/PM_LD_REF_L1+ /sys/devices/cpu/events/PM_CYC+ /sys/devices/cpu/events/PM_BRU_FIN+ /sys/devices/cpu/events/PM_GCT_NOSLOT_CYC+ /sys/devices/cpu/events/PM_BRU_MPRED+ /sys/devices/cpu/events/PM_INST_CMPL+ /sys/devices/cpu/events/PM_CMPLU_STALL++Date: 2013/01/08++Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>+ Linux Powerpc mailing list <linuxppc-dev@ozlabs.org>++Description: POWER-systems specific performance monitoring events++ A collection of performance monitoring events that may be+ supported by the POWER CPU. These events can be monitored+ using the 'perf(1)' tool.++ These events may not be supported by other CPUs.++ The contents of each file would look like:++ event=0xNNNN++ where 'N' is a hex digit and the number '0xNNNN' shows the+ "raw code" for the perf event identified by the file's+ "basename".++ Further, multiple terms like 'event=0xNNNN' can be specified+ and separated with comma. All available terms are defined in+ the /sys/bus/event_source/devices/<dev>/format file.
From: Arnaldo Carvalho de Melo <hidden> Date: 2013-01-18 19:44:03
Em Fri, Jan 18, 2013 at 09:46:54AM -0800, Sukadev Bhattiprolu escreveu:
Jiri Olsa [jolsa@redhat.com] wrote:
| Maybe it'd worth to mention, that it does not need to be just 'event',
| but anything from /sys/bus/event_source/devices/<dev>/format directory,
| like
|
| The can be multiple terms like 'event=0xNNNN' specified
| and separated with comma. All available terms are located
| in /sys/bus/event_source/devices/<dev>/format file.
|
| Please feel free to rephrase or use proper English ;-)
|
| otherwise it's ok,
| jirka
Agree. Thanks for the review. Here is the updated patch.
Ok, I'll wait for Jiri's final acked-by, then you can resubmit the patch
series and I'll apply it to my perf/core branch.
- Arnaldo
From: Jiri Olsa <hidden> Date: 2013-01-22 17:11:12
On Fri, Jan 18, 2013 at 09:46:54AM -0800, Sukadev Bhattiprolu wrote:
Jiri Olsa [jolsa@redhat.com] wrote:
SNIP
+
+Contact: Linux kernel mailing list [off-list ref]
+ Linux Powerpc mailing list [off-list ref]
+
+Description: POWER-systems specific performance monitoring events
+
+ A collection of performance monitoring events that may be
+ supported by the POWER CPU. These events can be monitored
+ using the 'perf(1)' tool.
+
+ These events may not be supported by other CPUs.
+
+ The contents of each file would look like:
+
+ event=0xNNNN
+
+ where 'N' is a hex digit and the number '0xNNNN' shows the
+ "raw code" for the perf event identified by the file's
+ "basename".
+
+ Further, multiple terms like 'event=0xNNNN' can be specified
+ and separated with comma. All available terms are defined in
+ the /sys/bus/event_source/devices/<dev>/format file.
From: Michael Ellerman <hidden> Date: 2013-01-23 03:50:41
On Wed, 2013-01-09 at 17:03 -0800, Sukadev Bhattiprolu wrote:
quoted hunk
[PATCH 1/6][v3] perf/Power7: Use macros to identify perf events
Define and use macros to identify perf events codes. This would make it
easier and more readable when these event codes need to be used in more
than one place.
Signed-off-by: Sukadev Bhattiprolu <redacted>
---
arch/powerpc/perf/power7-pmu.c | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
Your patch is good, but raises the question why we're using L1 events
for HW_CACHE.
AFAICS on Intel they use 0x42fe/0x412e, which are last-level-cache (LLC)
events.
PMU name : ix86arch (Intel X86 architectural PMU)
Name : LLC_REFERENCES
Desc : count each request originating from the core to
reference a cache line in the last level cache. The count may
include speculation, but excludes cache line fills due to
hardware prefetch
Code : 0x4f2e
PMU name : ix86arch (Intel X86 architectural PMU)
Name : LLC_MISSES
Desc : count each cache miss condition for references to the
last level cache. The event count may include speculation, but
excludes cache line fills due to hardware prefetch
Code : 0x412e
That would seem to more closely match our PM_L3_LD_HIT/MISS?
cheers