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

From: Sukadev Bhattiprolu <[email-masked]>
Date: Thu, 22 Jan 2015 22:09:23 -0800

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 [[email-masked]] wrote:
| From: Cody P Schafer <[email-masked]>
| 
| (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 <[email-masked]>
| CC: Haren Myneni <[email-masked]>
| CC: Cody P Schafer <[email-masked]>
| Signed-off-by: Cody P Schafer <[email-masked]>
| ---
|  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
| [email-masked]
| https://lists.ozlabs.org/listinfo/linuxppc-dev