[PATCH 00/54] perf tools: Bugfix, BPF improvements and overwrite ring buffer support
From: Wang Nan
Date: Fri Feb 05 2016 - 09:18:00 EST
Hi Arnaldo,
The following changes since commit 89fee59b504f86925894fcc9ba79d5c933842f93:
perf tools: handle spaces in file names obtained from /proc/pid/maps (2016-02-05 09:39:56 -0300)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/pi3orama/linux.git tags/perf-core-for-acme
for you to fetch changes up to f9c0effb2643da8f7712936df46444e260b87dc1:
perf tools: Don't warn about out of order event if write_backward is used (2016-02-05 13:44:29 +0000)
----------------------------------------------------------------
perf improvements:
- Code clean: based on Arnaldo's suggestion.
- Remove '-e evt=cycles' symtax. Enforce existing 'cycles/name=evt/'
syntax.
- Forbid improper config terms passing to 'perf stat'. i.e. 'perf stat -e cycles/no-inherit/ ...'
Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
----------------------------------------------------------------
Wang Nan (54):
perf tools: Fix dangling pointers in parse_events__free_terms
perf tools: Fix symbols searching for offline module in buildid-cache
perf tools: Record text offset in dso to calculate objdump address
perf tools: Adjust symbol for shared objects
perf data: Fix releasing event_class
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 stat: Forbid user passing improper config terms
perf tools: Rename and move pmu_event_name to get_config_name
perf tools: Enable config raw and numeric events
perf tools: Enable config and setting names for legacy cache events
perf tools: Support setting different slots in a BPF map separately
perf tools: Enable indices setting syntax for BPF maps
perf tools: Pass tracepoint options to BPF script
perf tools: Introduce bpf-output event
perf data: Support converting data from bpf_perf_event_output()
perf core: Introduce new ioctl options to pause and resume ring buffer
perf core: Set event's default overflow_handler
perf core: Prepare writing into ring buffer from end
perf core: Add backward attribute to perf event
perf core: Reduce perf event output overhead by new overflow handler
perf tools: Only validate is_pos for tracking evsels
perf tools: Print write_backward value in perf_event_attr__fprintf
perf tools: Make ordered_events reusable
perf record: Extract synthesize code to record__synthesize()
perf tools: Add perf_data_file__switch() helper
perf record: Turns auxtrace_snapshot_enable into 3 states
perf record: Introduce record__finish_output() to finish a perf.data
perf record: Add '--timestamp-filename' option to append timestamp to output filename
perf record: Split output into multiple files via '--switch-output'
perf record: Force enable --timestamp-filename when --switch-output is provided
perf record: Disable buildid cache options by default in switch output mode
perf record: Re-synthesize tracking events after output switching
perf record: Generate tracking events for process forked by perf
perf record: Ensure return non-zero rc when mmap fail
perf record: Prevent reading invalid data in record__mmap_read
perf tools: Add evlist channel helpers
perf tools: Automatically add new channel according to evlist
perf tools: Operate multiple channels
perf tools: Squash overwrite setting into channel
perf record: Don't read from and poll overwrite channel
perf record: Don't poll on overwrite channel
perf tools: Detect avalibility of write_backward
perf tools: Enable overwrite settings
perf tools: Set write_backward attribut bit for overwrite events
perf tools: Record fd into perf_mmap
perf tools: Add API to pause a channel
perf record: Toggle overwrite ring buffer for reading
perf record: Rename variable to make code clear
perf record: Read from backward ring buffer
perf record: Allow generate tracking events at the end of output
perf tools: Don't warn about out of order event if write_backward is used
include/linux/perf_event.h | 22 +-
include/uapi/linux/perf_event.h | 4 +-
kernel/events/core.c | 73 +++-
kernel/events/internal.h | 11 +
kernel/events/ring_buffer.c | 63 +++-
tools/perf/builtin-record.c | 598 ++++++++++++++++++++++++++-----
tools/perf/builtin-stat.c | 1 +
tools/perf/perf.h | 2 +
tools/perf/tests/bpf.c | 2 +-
tools/perf/util/bpf-loader.c | 719 ++++++++++++++++++++++++++++++++++++++
tools/perf/util/bpf-loader.h | 59 ++++
tools/perf/util/build-id.c | 44 +++
tools/perf/util/build-id.h | 1 +
tools/perf/util/data-convert-bt.c | 130 ++++++-
tools/perf/util/data.c | 36 ++
tools/perf/util/data.h | 11 +-
tools/perf/util/dso.h | 1 +
tools/perf/util/evlist.c | 355 ++++++++++++++++---
tools/perf/util/evlist.h | 70 +++-
tools/perf/util/evsel.c | 23 ++
tools/perf/util/evsel.h | 11 +
tools/perf/util/map.c | 14 +
tools/perf/util/ordered-events.c | 5 +
tools/perf/util/parse-events.c | 267 ++++++++++++--
tools/perf/util/parse-events.h | 28 +-
tools/perf/util/parse-events.l | 18 +-
tools/perf/util/parse-events.y | 134 ++++++-
tools/perf/util/record.c | 11 +
tools/perf/util/session.c | 22 +-
tools/perf/util/symbol-elf.c | 25 +-
tools/perf/util/symbol.c | 4 +
31 files changed, 2532 insertions(+), 232 deletions(-)
--
1.8.3.4