Messages in this thread | | | From | Wang Nan <> | Subject | [PATCH v3 00/13] perf tools: BPF related update | Date | Mon, 30 Nov 2015 07:32:00 +0000 |
| |
This patch set is based on perf/core.
Compare with v2: - Checks return value of strdup() - Change BPF map setting syntax to 'maps:[mapname].[event:value]<indices>=value' For example: 'maps:mapname.value[1,3...5]=10' Test cases in each commit message are also changed correspondingly. (Thanks to Namhyung Kim)
This patch set improves perf's BPF support:
- Support filling BPF array with values
Users are allowed to pass something to BPF program through command line without changing the program itself.
- Support filling BPF event array with events
BPF program can read PMU counters through BPF's perf_event_read() helper.
- Support bpf_output_event() helper
BPF program can issue perf event to perf.data.
In most of the patches I list commands for testing them, both normal case and error case.
He Kuang (2): perf tools: Support perf event alias name perf record: Support custom vmlinux path
Wang Nan (11): tools lib bpf: Check return value of strdup when reading map names perf tools: Add API to config maps in bpf object perf tools: Enable BPF object configure syntax perf record: Apply config to BPF objects before recording perf tools: Enable passing event to BPF object perf tools: Support setting different slots in a BPF map separately perf tools: Enable indices setting syntax for BPF maps perf tools: Introduce bpf-output event perf data: Add u32_hex data type perf data: Support converting data from bpf_perf_event_output() perf tools: Always give options even it not compiled
tools/lib/bpf/libbpf.c | 13 +- tools/perf/Documentation/perf-record.txt | 10 +- tools/perf/builtin-probe.c | 15 +- tools/perf/builtin-record.c | 36 +- tools/perf/util/bpf-loader.c | 700 +++++++++++++++++++++++++++++++ tools/perf/util/bpf-loader.h | 59 +++ tools/perf/util/data-convert-bt.c | 117 +++++- tools/perf/util/evlist.c | 16 + tools/perf/util/evlist.h | 4 + tools/perf/util/evsel.c | 7 + tools/perf/util/evsel.h | 1 + tools/perf/util/parse-events.c | 125 +++++- tools/perf/util/parse-events.h | 20 +- tools/perf/util/parse-events.l | 16 +- tools/perf/util/parse-events.y | 123 +++++- tools/perf/util/parse-options.c | 113 ++++- tools/perf/util/parse-options.h | 5 + 17 files changed, 1345 insertions(+), 35 deletions(-)
-- 1.8.3.4
| |