[PATCH 2/7] powerpc/perf: Export Power8 generic events in sysfs

2013-08-10 Thread Sukadev Bhattiprolu
[PATCH 2/7] powerpc/perf: Export Power8 generic events in sysfs

Export existing Power8 generic events in sysfs.

Cc: Paul Mckerras 
Cc: Michael Ellerman 
Signed-off-by: Sukadev Bhattiprolu 
---
 arch/powerpc/perf/power8-pmu.c |   23 +++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c
index 30c6b12..ff98fb8 100644
--- a/arch/powerpc/perf/power8-pmu.c
+++ b/arch/powerpc/perf/power8-pmu.c
@@ -510,6 +510,28 @@ static void power8_disable_pmc(unsigned int pmc, unsigned 
long mmcr[])
mmcr[1] &= ~(0xffUL << MMCR1_PMCSEL_SHIFT(pmc + 1));
 }
 
+GENERIC_EVENT_ATTR(cpu-cyles,  PM_CYC);
+GENERIC_EVENT_ATTR(stalled-cycles-frontend,PM_GCT_NOSLOT_CYC);
+GENERIC_EVENT_ATTR(stalled-cycles-backend, PM_CMPLU_STALL);
+GENERIC_EVENT_ATTR(instructions,   PM_INST_CMPL);
+GENERIC_EVENT_ATTR(branch-instructions,PM_BRU_FIN);
+GENERIC_EVENT_ATTR(branch-misses,  PM_BR_MPRED_CMPL);
+
+static struct attribute *power8_events_attr[] = {
+   GENERIC_EVENT_PTR(PM_CYC),
+   GENERIC_EVENT_PTR(PM_GCT_NOSLOT_CYC),
+   GENERIC_EVENT_PTR(PM_CMPLU_STALL),
+   GENERIC_EVENT_PTR(PM_INST_CMPL),
+   GENERIC_EVENT_PTR(PM_BRU_FIN),
+   GENERIC_EVENT_PTR(PM_BR_MPRED_CMPL),
+   NULL
+};
+
+static struct attribute_group power8_pmu_events_group = {
+   .name = "events",
+   .attrs = power8_events_attr,
+};
+
 PMU_FORMAT_ATTR(event, "config:0-49");
 PMU_FORMAT_ATTR(pmcxsel,   "config:0-7");
 PMU_FORMAT_ATTR(mark,  "config:8");
@@ -546,6 +568,7 @@ struct attribute_group power8_pmu_format_group = {
 
 static const struct attribute_group *power8_pmu_attr_groups[] = {
_pmu_format_group,
+   _pmu_events_group,
NULL,
 };
 
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/7] powerpc/perf: Export Power8 generic events in sysfs

2013-08-10 Thread Sukadev Bhattiprolu
[PATCH 2/7] powerpc/perf: Export Power8 generic events in sysfs

Export existing Power8 generic events in sysfs.

Cc: Paul Mckerras pau...@samba.org
Cc: Michael Ellerman mich...@ellerman.id.au
Signed-off-by: Sukadev Bhattiprolu suka...@linux.vnet.ibm.com
---
 arch/powerpc/perf/power8-pmu.c |   23 +++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c
index 30c6b12..ff98fb8 100644
--- a/arch/powerpc/perf/power8-pmu.c
+++ b/arch/powerpc/perf/power8-pmu.c
@@ -510,6 +510,28 @@ static void power8_disable_pmc(unsigned int pmc, unsigned 
long mmcr[])
mmcr[1] = ~(0xffUL  MMCR1_PMCSEL_SHIFT(pmc + 1));
 }
 
+GENERIC_EVENT_ATTR(cpu-cyles,  PM_CYC);
+GENERIC_EVENT_ATTR(stalled-cycles-frontend,PM_GCT_NOSLOT_CYC);
+GENERIC_EVENT_ATTR(stalled-cycles-backend, PM_CMPLU_STALL);
+GENERIC_EVENT_ATTR(instructions,   PM_INST_CMPL);
+GENERIC_EVENT_ATTR(branch-instructions,PM_BRU_FIN);
+GENERIC_EVENT_ATTR(branch-misses,  PM_BR_MPRED_CMPL);
+
+static struct attribute *power8_events_attr[] = {
+   GENERIC_EVENT_PTR(PM_CYC),
+   GENERIC_EVENT_PTR(PM_GCT_NOSLOT_CYC),
+   GENERIC_EVENT_PTR(PM_CMPLU_STALL),
+   GENERIC_EVENT_PTR(PM_INST_CMPL),
+   GENERIC_EVENT_PTR(PM_BRU_FIN),
+   GENERIC_EVENT_PTR(PM_BR_MPRED_CMPL),
+   NULL
+};
+
+static struct attribute_group power8_pmu_events_group = {
+   .name = events,
+   .attrs = power8_events_attr,
+};
+
 PMU_FORMAT_ATTR(event, config:0-49);
 PMU_FORMAT_ATTR(pmcxsel,   config:0-7);
 PMU_FORMAT_ATTR(mark,  config:8);
@@ -546,6 +568,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.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/