[lkml]   [2018]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[RFC 0/2] perf: Sharing PMU counters across compatible events
This is to follow up earlier discussion on sharing hardware PMU counters
across compatible events:

A lot of this set is based on Tejun's work. I also got a lot of ideas and
insights from Jiri's version.

The major effort in this version is to make perf event scheduling faster.
Specifically, all the operations on the critical paths have O(1) execution
time. Commit message of RFC 2/2 has more information about the data
structure we used for these operations.

RFC 1/2 is a prepare patch. It may become unnecessary if we introduce
virtual master later on.

RFC 2/2 has majority of the new data structure, and operations.

I have test this version on vm with tracepoint events. I also briefly
tested it on real hardware, where it shows sharing of perf events and
doesn't break too badly.

Please share your comments and suggestions. Is this on the right direction
of PMU counter sharing?

Thanks in advance.

Song Liu (2):
perf: add move_dup() for PMU sharing.
perf: Sharing PMU counters across compatible events

arch/x86/events/core.c | 8 ++
include/linux/perf_event.h | 57 +++++++++
include/linux/trace_events.h | 3 +
kernel/events/core.c | 255 +++++++++++++++++++++++++++++++++++++---
kernel/trace/trace_event_perf.c | 11 ++
5 files changed, 316 insertions(+), 18 deletions(-)


 \ /
  Last update: 2018-05-05 01:11    [W:0.069 / U:7.864 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site