Re: [RFC PATCH 0/7] Share events between metrics
From: Jiri Olsa <hidden>
Date: 2020-05-07 13:50:02
Also in:
bpf, linux-perf-users, lkml
On Thu, May 07, 2020 at 01:14:29AM -0700, Ian Rogers wrote:
Metric groups contain metrics. Metrics create groups of events to ideally be scheduled together. Often metrics refer to the same events, for example, a cache hit and cache miss rate. Using separate event groups means these metrics are multiplexed at different times and the counts don't sum to 100%. More multiplexing also decreases the accuracy of the measurement. This change orders metrics from groups or the command line, so that the ones with the most events are set up first. Later metrics see if groups already provide their events, and reuse them if possible. Unnecessary events and groups are eliminated. RFC because: - without this change events within a metric may get scheduled together, after they may appear as part of a larger group and be multiplexed at different times, lowering accuracy - however, less multiplexing may compensate for this. - libbpf's hashmap is used, however, libbpf is an optional requirement for building perf. - other things I'm not thinking of.
hi, I can't apply this, what branch/commit is this based on? Applying: perf expr: migrate expr ids table to libbpf's hashmap error: patch failed: tools/perf/tests/pmu-events.c:428 error: tools/perf/tests/pmu-events.c: patch does not apply error: patch failed: tools/perf/util/expr.h:2 error: tools/perf/util/expr.h: patch does not apply error: patch failed: tools/perf/util/expr.y:73 error: tools/perf/util/expr.y: patch does not apply Patch failed at 0001 perf expr: migrate expr ids table to libbpf's hashmap thanks, jirka
Thanks! Ian Rogers (7): perf expr: migrate expr ids table to libbpf's hashmap perf metricgroup: change evlist_used to a bitmap perf metricgroup: free metric_events on error perf metricgroup: always place duration_time last perf metricgroup: delay events string creation perf metricgroup: order event groups by size perf metricgroup: remove duped metric group events tools/perf/tests/expr.c | 32 ++--- tools/perf/tests/pmu-events.c | 22 ++-- tools/perf/util/expr.c | 125 ++++++++++-------- tools/perf/util/expr.h | 22 ++-- tools/perf/util/expr.y | 22 +--- tools/perf/util/metricgroup.c | 242 +++++++++++++++++++++------------- tools/perf/util/stat-shadow.c | 46 ++++--- 7 files changed, 280 insertions(+), 231 deletions(-) -- 2.26.2.526.g744177e7f7-goog