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

Sukadev Bhattiprolu sukadev at linux.vnet.ibm.com
Fri Jan 23 17:09:23 AEDT 2015


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 at linux.vnet.ibm.com] wrote:
| From: Cody P Schafer <cody at 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.
| 
| CC: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
| CC: Haren Myneni <hbabu at us.ibm.com>
| CC: Cody P Schafer <dev at codyps.com>
| Signed-off-by: Cody P Schafer <cody at linux.vnet.ibm.com>
| ---
|  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 at lists.ozlabs.org
| https://lists.ozlabs.org/listinfo/linuxppc-dev



More information about the Linuxppc-dev mailing list