[PATCH 0/7] perf: Communicate sink via event::attr:config2
From: Mathieu Poirier
Date: Tue Jan 15 2019 - 18:07:49 EST
From: "Mathieu Poirier]" <mathieu.poirier@xxxxxxxxxx>
This set is a refurbished version of this one [1]. I dropped the version
count and changed the name because a new approach is taken.
The end result is the same though, that is to allow multiple sources to
select the same sink for a session which is a prerequisite for the CoreSight
support of CPU-wide trace scenarios.
Here the sink ID is communicated to the kernel by way of the event's
configuration attribure (event::attr::config2). The ID itself is an
hash of the sink's name, something that is readily available and doesn't
require the addition of a new information field in the coresight_device
structure.
With this new strategy the mechanic used to communicate sink selection to the
kernel via sysfs is no longer needed and removed from the code base.
Everthing has been applied and tested on 5.0-rc2.
Regards,
Mathieu
PS: Greg, I'm drawing your attention to patch 02 where I seem to be the first
to use function sysfs_add_file_to_group() in this way.
[1]. https://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg1818488.html
Mathieu Poirier (6):
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 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
linaro (1):
perf pmu: Moving EVENT_SOURCE_DEVICE_PATH to PMU header file
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 | 65 ++++++++++---
.../hwtracing/coresight/coresight-etm-perf.h | 1 +
drivers/hwtracing/coresight/coresight-priv.h | 1 +
drivers/hwtracing/coresight/coresight.c | 56 +++++++++++
drivers/perf/arm_spe_pmu.c | 6 +-
include/linux/perf_event.h | 2 +-
kernel/events/ring_buffer.c | 2 +-
tools/perf/arch/arm/util/cs-etm.c | 94 ++++++++-----------
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 +-
21 files changed, 163 insertions(+), 225 deletions(-)
delete mode 100644 tools/perf/util/drv_configs.c
delete mode 100644 tools/perf/util/drv_configs.h
--
2.17.1