Re: [PATCH v6 1/7] perf: provide sysfs_show for struct perf_pmu_events_attr

From: Sukadev Bhattiprolu
Date: Fri Jan 23 2015 - 01:10:42 EST


Jiri, Arnaldo,

Can you please review/ack this and the next (i.e patches 1 and 2)
of this set ? Since other patches in this set depend on these two,
it maybe easier to have them all go through the ppc tree ?

Thanks,

Sukadev

Sukadev Bhattiprolu [sukadev@xxxxxxxxxxxxxxxxxx] wrote:
| From: Cody P Schafer <cody@xxxxxxxxxxxxxxxxxx>
|
| (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 <sukadev@xxxxxxxxxxxxxxxxxx>
| CC: Haren Myneni <hbabu@xxxxxxxxxx>
| CC: Cody P Schafer <dev@xxxxxxxxxx>
| Signed-off-by: Cody P Schafer <cody@xxxxxxxxxxxxxxxxxx>
| ---
| 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 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 af0a5ba..1808d0e 100644
| --- a/kernel/events/core.c
| +++ b/kernel/events/core.c
| @@ -8276,6 +8276,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.8.3.1
|
| _______________________________________________
| Linuxppc-dev mailing list
| Linuxppc-dev@xxxxxxxxxxxxxxxx
| https://lists.ozlabs.org/listinfo/linuxppc-dev

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