This patches set improves bpf_perf (perf-stat --bpf-counter) by 1) exposing key definitions to a libperf header; 2) adding compatibility check for perf_attr_map; 3) introducing config stat.bpf-counter-events. 4) introducing 'b' modify to event parser.
Changes v3 => v4: 1. Improve the logic that decides when to skip read_affinity_counters(). (Jiri) 2. Clean up a condition in bpf_counters.c:read_counters(). (Jiri) Changes v2 => v3: 1. Add 'b' modifier. (Jiri) 2. Allow configuring stat.bpf-counter-events with any event name (instead of limiting to hardware events). (Jiri) Changes v1 => v2: 1. Separte 2/3 from 1/3. (Jiri) 2. Rename bperf.h to bpf_perf.h. (Jiri) 3. Other small fixes/optimizations. (Jiri) Song Liu (4): perf util: move bpf_perf definitions to a libperf header perf bpf: check perf_attr_map is compatible with the perf binary perf-stat: introduce config stat.bpf-counter-events perf-stat: introduce ':b' modifier tools/lib/perf/include/perf/bpf_perf.h | 31 ++++++++++++++++ tools/perf/Documentation/perf-stat.txt | 2 ++ tools/perf/builtin-stat.c | 40 ++++++++++++--------- tools/perf/util/bpf_counter.c | 49 +++++++++++++------------- tools/perf/util/config.c | 4 +++ tools/perf/util/evsel.c | 22 ++++++++++++ tools/perf/util/evsel.h | 9 +++++ tools/perf/util/parse-events.c | 8 ++++- tools/perf/util/parse-events.l | 2 +- tools/perf/util/target.h | 5 --- 10 files changed, 123 insertions(+), 49 deletions(-) create mode 100644 tools/lib/perf/include/perf/bpf_perf.h -- 2.30.2