All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
To: Michael Ellerman <mpe@ellerman.id.au>,
	Jiri Olsa <jolsa@redhat.com>, Paul Mackerras <paulus@samba.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: dev@codyps.com, peterz@infradead.org, hbabu@us.ibm.com,
	<linux-kernel@vger.kernel.org>,
	linuxppc-dev@lists.ozlabs.org
Subject: [PATCH v7 1/7] perf: provide sysfs_show for struct perf_pmu_events_attr
Date: Mon, 26 Jan 2015 17:43:04 -0800	[thread overview]
Message-ID: <1422322990-9030-2-git-send-email-sukadev@linux.vnet.ibm.com> (raw)
In-Reply-To: <1422322990-9030-1-git-send-email-sukadev@linux.vnet.ibm.com>

From: Cody P Schafer <cody@linux.vnet.ibm.com>

(struct perf_pmu_events_attr) is defined in include/linux/perf_event.h,
but the only "show" for it is in x86 and contains x86 specific stuff.

Make a generic one for those of us who are just using the event_str.

Changelog[v7]: [Jiri Olsa] Add a check pmu_events->str for similarity
		the RAPL use of sysfs_show().

CC: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
CC: Haren Myneni <hbabu@us.ibm.com>
CC: Cody P Schafer <dev@codyps.com>
Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
---
 include/linux/perf_event.h |  3 +++
 kernel/events/core.c       | 12 ++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 486e84c..58f59bd 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -897,6 +897,9 @@ struct perf_pmu_events_attr {
 	const char *event_str;
 };
 
+ssize_t perf_event_sysfs_show(struct device *dev, struct device_attribute *attr,
+			      char *page);
+
 #define PMU_EVENT_ATTR(_name, _var, _id, _show)				\
 static struct perf_pmu_events_attr _var = {				\
 	.attr = __ATTR(_name, 0444, _show, NULL),			\
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 4c1ee7f..934687f 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -8276,6 +8276,18 @@ void __init perf_event_init(void)
 		     != 1024);
 }
 
+ssize_t perf_event_sysfs_show(struct device *dev, struct device_attribute *attr,
+			      char *page)
+{
+	struct perf_pmu_events_attr *pmu_attr =
+		container_of(attr, struct perf_pmu_events_attr, attr);
+
+	if (pmu_attr->event_str)
+		return sprintf(page, "%s\n", pmu_attr->event_str);
+
+	return 0;
+}
+
 static int __init perf_event_sysfs_init(void)
 {
 	struct pmu *pmu;
-- 
1.8.3.1


WARNING: multiple messages have this Message-ID (diff)
From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
To: Michael Ellerman <mpe@ellerman.id.au>,
	Jiri Olsa <jolsa@redhat.com>, Paul Mackerras <paulus@samba.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: peterz@infradead.org, linuxppc-dev@lists.ozlabs.org,
	dev@codyps.com, linux-kernel@vger.kernel.org
Subject: [PATCH v7 1/7] perf: provide sysfs_show for struct perf_pmu_events_attr
Date: Mon, 26 Jan 2015 17:43:04 -0800	[thread overview]
Message-ID: <1422322990-9030-2-git-send-email-sukadev@linux.vnet.ibm.com> (raw)
In-Reply-To: <1422322990-9030-1-git-send-email-sukadev@linux.vnet.ibm.com>

From: Cody P Schafer <cody@linux.vnet.ibm.com>

(struct perf_pmu_events_attr) is defined in include/linux/perf_event.h,
but the only "show" for it is in x86 and contains x86 specific stuff.

Make a generic one for those of us who are just using the event_str.

Changelog[v7]: [Jiri Olsa] Add a check pmu_events->str for similarity
		the RAPL use of sysfs_show().

CC: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
CC: Haren Myneni <hbabu@us.ibm.com>
CC: Cody P Schafer <dev@codyps.com>
Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
---
 include/linux/perf_event.h |  3 +++
 kernel/events/core.c       | 12 ++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 486e84c..58f59bd 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -897,6 +897,9 @@ struct perf_pmu_events_attr {
 	const char *event_str;
 };
 
+ssize_t perf_event_sysfs_show(struct device *dev, struct device_attribute *attr,
+			      char *page);
+
 #define PMU_EVENT_ATTR(_name, _var, _id, _show)				\
 static struct perf_pmu_events_attr _var = {				\
 	.attr = __ATTR(_name, 0444, _show, NULL),			\
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 4c1ee7f..934687f 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -8276,6 +8276,18 @@ void __init perf_event_init(void)
 		     != 1024);
 }
 
+ssize_t perf_event_sysfs_show(struct device *dev, struct device_attribute *attr,
+			      char *page)
+{
+	struct perf_pmu_events_attr *pmu_attr =
+		container_of(attr, struct perf_pmu_events_attr, attr);
+
+	if (pmu_attr->event_str)
+		return sprintf(page, "%s\n", pmu_attr->event_str);
+
+	return 0;
+}
+
 static int __init perf_event_sysfs_init(void)
 {
 	struct pmu *pmu;
-- 
1.8.3.1

  reply	other threads:[~2015-01-27  1:45 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-27  1:43 [PATCH v7 0/4] Add support for parametrized events Sukadev Bhattiprolu
2015-01-27  1:43 ` Sukadev Bhattiprolu
2015-01-27  1:43 ` Sukadev Bhattiprolu [this message]
2015-01-27  1:43   ` [PATCH v7 1/7] perf: provide sysfs_show for struct perf_pmu_events_attr Sukadev Bhattiprolu
2015-01-27  1:43 ` [PATCH v7 2/7] perf: add PMU_EVENT_ATTR_STRING() helper Sukadev Bhattiprolu
2015-01-27  1:43   ` Sukadev Bhattiprolu
2015-01-27  1:43 ` [PATCH v7 3/7] perf: define EVENT_DEFINE_RANGE_FORMAT_LITE helper Sukadev Bhattiprolu
2015-01-27  1:43   ` Sukadev Bhattiprolu
2015-01-27  1:43 ` [PATCH v7 4/7] powerpc/perf/hv-24x7: parse catalog and populate sysfs with events Sukadev Bhattiprolu
2015-01-27  1:43   ` Sukadev Bhattiprolu
2015-01-27  1:43 ` [PATCH v7 5/7] powerpc/perf/{hv-gpci, hv-common}: generate requests with counters annotated Sukadev Bhattiprolu
2015-01-27  1:43   ` Sukadev Bhattiprolu
2015-01-27  1:43 ` [PATCH v7 6/7] powerpc/perf/hv-gpci: add the remaining gpci requests Sukadev Bhattiprolu
2015-01-27  1:43   ` Sukadev Bhattiprolu
2015-01-27  1:43 ` [PATCH v7 7/7] powerpc/perf/hv-24x7: Document sysfs event description entries Sukadev Bhattiprolu
2015-01-27  1:43   ` Sukadev Bhattiprolu
2015-01-27 10:02 ` [PATCH v7 0/4] Add support for parametrized events Jiri Olsa
2015-01-27 10:02   ` Jiri Olsa
2015-01-28  0:54   ` Michael Ellerman
2015-01-28  0:54     ` Michael Ellerman
2015-01-28 10:37     ` Jiri Olsa
2015-01-28 10:37       ` Jiri Olsa
2015-01-28 15:29       ` Arnaldo Carvalho de Melo
2015-01-28 15:29         ` Arnaldo Carvalho de Melo
2015-01-29  4:24       ` Michael Ellerman
2015-01-29  4:24         ` Michael Ellerman
2015-01-29  4:28 ` Michael Ellerman
2015-01-29  4:28   ` Michael Ellerman
2015-01-30 14:52   ` Arnaldo Carvalho de Melo
2015-01-30 14:52     ` Arnaldo Carvalho de Melo
2015-02-02  1:15     ` Michael Ellerman
2015-02-02  1:15       ` Michael Ellerman
2015-01-30 21:45 Sukadev Bhattiprolu
2015-01-30 21:45 ` [PATCH v7 1/7] perf: provide sysfs_show for struct perf_pmu_events_attr Sukadev Bhattiprolu
2015-01-30 21:45   ` 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=1422322990-9030-2-git-send-email-sukadev@linux.vnet.ibm.com \
    --to=sukadev@linux.vnet.ibm.com \
    --cc=acme@kernel.org \
    --cc=dev@codyps.com \
    --cc=hbabu@us.ibm.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.org \
    /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.