[PATCH 0/3] remove unnecessary IPI reading uncore events

From: David Carrillo-Cisneros
Date: Mon Aug 01 2016 - 23:13:17 EST


This patch series adds a new flag to the struct perf_event
(and a flag field to store it) to allow a PMU to tag a CPU or
cgroup event as readable from any CPU in the same package and not
just the CPU the event is attached to, even if the event is not
currently active.

This capability is used with uncore events to potentially avoid
an unnecessary IPI when executing perf_event_read.

A previous version of this change was introduced in the last Intel's
CQM/CMT driver series (under review), but now we present it separately
here since it is also useful for other uncore events.

The next version of Intel CQM/CMT will add 2 new flags that use
the pmu_event_flags field (added in patch 01 in this series).


Patches rebased at peterz/queue/perf/core

David Carrillo-Cisneros (3):
perf/core: check return value of perf_event_read IPI
perf/core: introduce pmu_event_flags and PMUEF_READ_CPU_PKG
perf/x86: use PMUEF_READ_CPU_PKG in uncore events

arch/x86/events/intel/rapl.c | 2 ++
arch/x86/events/intel/uncore.c | 2 ++
arch/x86/events/intel/uncore_snb.c | 2 ++
include/linux/perf_event.h | 12 ++++++++
kernel/events/core.c | 60 ++++++++++++++++++++++++++++++--------
5 files changed, 66 insertions(+), 12 deletions(-)

--
2.8.0.rc3.226.g39d4020