From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@redhat.com>
Cc: Andi Kleen <ak@linux.intel.com>,
robert.richter@amd.com, Anton Blanchard <anton@au1.ibm.com>,
linux-kernel@vger.kernel.org,
Stephane Eranian <eranian@google.com>,
linuxppc-dev@ozlabs.org,
Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
Jiri Olsa <jolsa@redhat.com>
Subject: [PATCH 2/6][v4]: perf: Make EVENT_ATTR global
Date: Tue, 22 Jan 2013 22:24:23 -0800 [thread overview]
Message-ID: <20130123062422.GC13720@us.ibm.com> (raw)
In-Reply-To: <20130123062201.GA13720@us.ibm.com>
[PATCH 2/6][v4]: 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[v2]
- [Jiri Osla] No need to define PMU_EVENT_PTR()
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
---
arch/x86/kernel/cpu/perf_event.c | 13 +++----------
include/linux/perf_event.h | 11 +++++++++++
2 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 4428fd1..59a1238 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -1316,11 +1316,6 @@ static struct attribute_group x86_pmu_format_group = {
.attrs = NULL,
};
-struct perf_pmu_events_attr {
- struct device_attribute attr;
- u64 id;
-};
-
/*
* Remove all undefined events (x86_pmu.event_map(id) == 0)
* out of events_attr attributes.
@@ -1354,11 +1349,9 @@ static ssize_t events_sysfs_show(struct device *dev, struct device_attribute *at
#define EVENT_VAR(_id) event_attr_##_id
#define EVENT_PTR(_id) &event_attr_##_id.attr.attr
-#define EVENT_ATTR(_name, _id) \
-static struct perf_pmu_events_attr EVENT_VAR(_id) = { \
- .attr = __ATTR(_name, 0444, events_sysfs_show, NULL), \
- .id = PERF_COUNT_HW_##_id, \
-};
+#define EVENT_ATTR(_name, _id) \
+ PMU_EVENT_ATTR(_name, EVENT_VAR(_id), PERF_COUNT_HW_##_id, \
+ events_sysfs_show)
EVENT_ATTR(cpu-cycles, CPU_CYCLES );
EVENT_ATTR(instructions, INSTRUCTIONS );
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 6bfb2fa..42adf01 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -817,6 +817,17 @@ do { \
} while (0)
+struct perf_pmu_events_attr {
+ struct device_attribute attr;
+ u64 id;
+};
+
+#define PMU_EVENT_ATTR(_name, _var, _id, _show) \
+static struct perf_pmu_events_attr _var = { \
+ .attr = __ATTR(_name, 0444, _show, NULL), \
+ .id = _id, \
+};
+
#define PMU_FORMAT_ATTR(_name, _format) \
static ssize_t \
_name##_show(struct device *dev, \
--
1.7.1
WARNING: multiple messages have this Message-ID (diff)
From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
Anton Blanchard <anton@au1.ibm.com>, Jiri Olsa <jolsa@redhat.com>,
robert.richter@amd.com, linuxppc-dev@ozlabs.org,
linux-kernel@vger.kernel.org,
Stephane Eranian <eranian@google.com>,
Andi Kleen <ak@linux.intel.com>
Subject: [PATCH 2/6][v4]: perf: Make EVENT_ATTR global
Date: Tue, 22 Jan 2013 22:24:23 -0800 [thread overview]
Message-ID: <20130123062422.GC13720@us.ibm.com> (raw)
In-Reply-To: <20130123062201.GA13720@us.ibm.com>
[PATCH 2/6][v4]: 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[v2]
- [Jiri Osla] No need to define PMU_EVENT_PTR()
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
---
arch/x86/kernel/cpu/perf_event.c | 13 +++----------
include/linux/perf_event.h | 11 +++++++++++
2 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 4428fd1..59a1238 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -1316,11 +1316,6 @@ static struct attribute_group x86_pmu_format_group = {
.attrs = NULL,
};
-struct perf_pmu_events_attr {
- struct device_attribute attr;
- u64 id;
-};
-
/*
* Remove all undefined events (x86_pmu.event_map(id) == 0)
* out of events_attr attributes.
@@ -1354,11 +1349,9 @@ static ssize_t events_sysfs_show(struct device *dev, struct device_attribute *at
#define EVENT_VAR(_id) event_attr_##_id
#define EVENT_PTR(_id) &event_attr_##_id.attr.attr
-#define EVENT_ATTR(_name, _id) \
-static struct perf_pmu_events_attr EVENT_VAR(_id) = { \
- .attr = __ATTR(_name, 0444, events_sysfs_show, NULL), \
- .id = PERF_COUNT_HW_##_id, \
-};
+#define EVENT_ATTR(_name, _id) \
+ PMU_EVENT_ATTR(_name, EVENT_VAR(_id), PERF_COUNT_HW_##_id, \
+ events_sysfs_show)
EVENT_ATTR(cpu-cycles, CPU_CYCLES );
EVENT_ATTR(instructions, INSTRUCTIONS );
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 6bfb2fa..42adf01 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -817,6 +817,17 @@ do { \
} while (0)
+struct perf_pmu_events_attr {
+ struct device_attribute attr;
+ u64 id;
+};
+
+#define PMU_EVENT_ATTR(_name, _var, _id, _show) \
+static struct perf_pmu_events_attr _var = { \
+ .attr = __ATTR(_name, 0444, _show, NULL), \
+ .id = _id, \
+};
+
#define PMU_FORMAT_ATTR(_name, _format) \
static ssize_t \
_name##_show(struct device *dev, \
--
1.7.1
next prev parent reply other threads:[~2013-01-23 6:24 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-23 6:22 [PATCH 0/6][v4]: perf: Make POWER7 events available in sysfs Sukadev Bhattiprolu
2013-01-23 6:22 ` Sukadev Bhattiprolu
2013-01-23 6:23 ` [PATCH 1/6][v4]: perf/Power7: Use macros to identify perf events Sukadev Bhattiprolu
2013-01-23 6:23 ` Sukadev Bhattiprolu
2013-02-01 10:59 ` [tip:perf/core] " tip-bot for Sukadev Bhattiprolu
2013-01-23 6:24 ` Sukadev Bhattiprolu [this message]
2013-01-23 6:24 ` [PATCH 2/6][v4]: perf: Make EVENT_ATTR global Sukadev Bhattiprolu
2013-02-01 11:00 ` [tip:perf/core] " tip-bot for Sukadev Bhattiprolu
2013-01-23 6:24 ` [PATCH 3/6][v4]: perf/POWER7: Make generic event translations available in sysfs Sukadev Bhattiprolu
2013-01-23 6:24 ` Sukadev Bhattiprolu
2013-02-01 11:01 ` [tip:perf/core] " tip-bot for Sukadev Bhattiprolu
2013-01-23 6:25 ` [PATCH 4/6][v4]: perf/POWER7: Make some POWER7 events " Sukadev Bhattiprolu
2013-01-23 6:25 ` Sukadev Bhattiprolu
2013-02-01 11:02 ` [tip:perf/core] " tip-bot for Sukadev Bhattiprolu
2013-01-23 6:26 ` [PATCH 5/6][v4]: perf: Create a sysfs entry for Power event format Sukadev Bhattiprolu
2013-01-23 6:26 ` Sukadev Bhattiprolu
2013-02-26 5:26 ` Michael Ellerman
2013-02-26 5:26 ` Michael Ellerman
2013-02-26 20:03 ` Sukadev Bhattiprolu
2013-02-26 20:03 ` Sukadev Bhattiprolu
2013-02-27 1:17 ` Michael Ellerman
2013-02-27 1:17 ` Michael Ellerman
2013-03-06 5:48 ` Sukadev Bhattiprolu
2013-03-06 5:48 ` Sukadev Bhattiprolu
2013-03-12 9:27 ` Paul Mackerras
2013-03-12 9:27 ` Paul Mackerras
2013-03-13 0:15 ` Michael Ellerman
2013-03-13 0:15 ` Michael Ellerman
2013-03-18 10:57 ` [tip:perf/urgent] perf/POWER7: Create a sysfs format entry for Power7 events tip-bot for Sukadev Bhattiprolu
2013-02-27 1:27 ` [PATCH 5/6][v4]: perf: Create a sysfs entry for Power event format Michael Ellerman
2013-02-27 1:27 ` Michael Ellerman
2013-01-23 6:26 ` [PATCH 6/6][v4]: perf: Document the ABI of perf sysfs entries Sukadev Bhattiprolu
2013-01-23 6:26 ` Sukadev Bhattiprolu
2013-02-01 11:04 ` [tip:perf/core] " tip-bot for Sukadev Bhattiprolu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130123062422.GC13720@us.ibm.com \
--to=sukadev@linux.vnet.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@ghostprotocols.net \
--cc=ak@linux.intel.com \
--cc=anton@au1.ibm.com \
--cc=eranian@google.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=mingo@redhat.com \
--cc=paulus@samba.org \
--cc=robert.richter@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.