[tip:perf/urgent] perf/POWER7: Create a sysfs format entry for Power7 events

From: tip-bot for Sukadev Bhattiprolu
Date: Mon Mar 18 2013 - 06:58:49 EST

Commit-ID: 3bf7b07ece6e00747602938f68c1db8001b9925f
Gitweb: http://git.kernel.org/tip/3bf7b07ece6e00747602938f68c1db8001b9925f
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
AuthorDate: Tue, 5 Mar 2013 21:48:26 -0800
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Wed, 13 Mar 2013 17:01:04 -0300

perf/POWER7: Create a sysfs format entry for Power7 events

Create a sysfs entry, '/sys/bus/event_source/devices/cpu/format/event'
which describes the format of the POWER7 PMU events.

This code is based on corresponding code in x86.

Changelog[v4]: [Michael Ellerman, Paul Mckerras] The event format is different
for other POWER cpus. So move the code to POWER7-specific,
power7-pmu.c Also, the POWER7 format uses bits 0-19 not 0-20.

Changelog[v2]: [Jiri Osla] Use PMU_FORMAT_ATTR rather than duplicating code.

Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Acked-by: Paul Mackerras <paulus@xxxxxxxxx>
Tested-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Cc: Anton Blanchard <anton@xxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Robert Richter <robert.richter@xxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: benh@xxxxxxxxxxxxxxxxxxx
Cc: linuxppc-dev@xxxxxxxxxx
Link: http://lkml.kernel.org/r/20130306054826.GA14627@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
arch/powerpc/perf/power7-pmu.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/arch/powerpc/perf/power7-pmu.c b/arch/powerpc/perf/power7-pmu.c
index b554879..3c475d6 100644
--- a/arch/powerpc/perf/power7-pmu.c
+++ b/arch/powerpc/perf/power7-pmu.c
@@ -420,7 +420,20 @@ static struct attribute_group power7_pmu_events_group = {
.attrs = power7_events_attr,

+PMU_FORMAT_ATTR(event, "config:0-19");
+static struct attribute *power7_pmu_format_attr[] = {
+ &format_attr_event.attr,
+struct attribute_group power7_pmu_format_group = {
+ .name = "format",
+ .attrs = power7_pmu_format_attr,
static const struct attribute_group *power7_pmu_attr_groups[] = {
+ &power7_pmu_format_group,
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/