Thread (12 messages) 12 messages, 2 authors, 2014-09-22
STALE4310d
Revisions (3)
  1. v2 [diff vs current]
  2. v3 current
  3. v4 [diff vs current]

[PATCH v3 03/10] perf: provide sysfs_show for struct perf_pmu_events_attr

From: Sukadev Bhattiprolu <hidden>
Date: 2014-09-17 18:54:22
Also in: lkml
Subsystem: performance events subsystem, the rest · Maintainers: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Linus Torvalds

From: Cody P Schafer <redacted>

(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.

CC: Sukadev Bhattiprolu <redacted>
CC: Haren Myneni <redacted>
CC: Cody P Schafer <redacted>
Signed-off-by: Cody P Schafer <redacted>
---
 include/linux/perf_event.h |    3 +++
 kernel/events/core.c       |    8 ++++++++
 2 files changed, 11 insertions(+)
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 707617a..cef4a56 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -882,6 +882,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 f9c1ed0..cf1a423 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -8100,6 +8100,14 @@ 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);
+	return sprintf(page, "%s\n", pmu_attr->event_str);
+}
+
 static int __init perf_event_sysfs_init(void)
 {
 	struct pmu *pmu;
-- 
1.7.9.5
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help