[PATCH v3 0/7] perf: Communicate sink via event::attr:config2

From: Mathieu Poirier
Date: Thu Jan 31 2019 - 13:47:20 EST


This is the third revision of a patchset allowing multiple sources to select
the same sink for a session which is a prerequisite for the support of CoreSight
CPU-wide trace scenarios.

The sink ID is communicated to the kernel by way of the event's configuration
attribute (event::attr:config2). The ID itself is an hash of the sink's name,
something that is readily available and unique.

With this set the mechanic to communicate sink selection to the kernel via
sysfs is no longer needed and removed.

Applies cleanly and tested on 5.0-rc4.

Thanks,
Mathieu

Changes for V3:
* Rebased to rc4.
* Fixed a perf tools command line problem (reported by Suzuki).
* Enhanced error handling in etm_perf_add_symlink_sink().
* Modified memory allocation to used devm_xyx() API.
* Went from using struct device_attribute to struct dev_ext_attribute.

Changes for V2:
* Addressed memory leak in etm_perf_add_symlink_sink()
* Keep track of device attribute for future removal.
* Added PMU attribure for config2.
* Fixed email address signature.

Mathieu Poirier (7):
perf/aux: Make perf_event accessible to setup_aux()
coresight: perf: Add "sinks" group to PMU directory
coresight: Use event attributes for sink selection
perf pmu: Moving EVENT_SOURCE_DEVICE_PATH to PMU header file
perf tools: Use event attributes to send sink information to kernel
perf tools: Removing CoreSight set_drv_config() API
perf tools: Remove PMU::set_drv_config API

arch/s390/kernel/perf_cpum_sf.c | 6 +-
arch/x86/events/intel/bts.c | 4 +-
arch/x86/events/intel/pt.c | 5 +-
.../hwtracing/coresight/coresight-etm-perf.c | 112 +++++++++++++++---
.../hwtracing/coresight/coresight-etm-perf.h | 6 +-
drivers/hwtracing/coresight/coresight-priv.h | 1 +
drivers/hwtracing/coresight/coresight.c | 60 ++++++++++
drivers/perf/arm_spe_pmu.c | 6 +-
include/linux/coresight.h | 7 +-
include/linux/perf_event.h | 2 +-
kernel/events/ring_buffer.c | 2 +-
tools/perf/arch/arm/util/cs-etm.c | 98 +++++++--------
tools/perf/arch/arm/util/cs-etm.h | 3 -
tools/perf/arch/arm/util/pmu.c | 2 -
tools/perf/builtin-record.c | 10 --
tools/perf/builtin-stat.c | 9 --
tools/perf/builtin-top.c | 13 --
tools/perf/util/Build | 1 -
tools/perf/util/drv_configs.c | 78 ------------
tools/perf/util/drv_configs.h | 26 ----
tools/perf/util/pmu.c | 2 -
tools/perf/util/pmu.h | 2 +-
22 files changed, 227 insertions(+), 228 deletions(-)
delete mode 100644 tools/perf/util/drv_configs.c
delete mode 100644 tools/perf/util/drv_configs.h

--
2.17.1