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
next prev parent 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: linkBe 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.