[PATCH v9 0/2] perf/core: addressing 4x slowdown during per-process profiling of STREAM benchmark on Intel Xeon Phi

From: Alexey Budankov
Date: Thu Aug 31 2017 - 05:53:37 EST


Hi,

This patch set v9 addresses feedback captured on review of v7. For more
background details please refer to v7 and earlier.

Specifically in this version groups are kept in a single tree indexed by
CPU and then by a 64bit virtual index.

In this version mux switch is renamed to rotation switch
and the value of rotation switch may be the one of defined by
ROTATION_DISABLED or ROTATION_ENABLED macros.

ctx->rotate_disable bool flag is renamed to ctx->rotation and also employs
ROTATION_DISABLE and ROTATION_ENABLED macros.

pinned_group_sched_in() and flexible_group_sched_in() API are introduced
to consolidate code enabling a whole group from pinned and flexible
groups appropriately.

Patches in the set are expected to be applied one after another in
the mentioned order and they are logically split into two parts
to simplify the review process.

Thanks,
Alexey

---
Alexey Budankov (2):
perf/core: use rb trees for pinned/flexible groups
perf/core: add rotation switch to skip to the current CPU's events list on mux interrupt

include/linux/perf_event.h | 17 +-
kernel/events/core.c | 500 +++++++++++++++++++++++++++++++++------------
2 files changed, 382 insertions(+), 135 deletions(-)