[PATCH 00/19] perf intel-pt: Add support for efficient time interval filtering

From: Adrian Hunter
Date: Tue Jun 04 2019 - 09:05:45 EST


Here are some patches to add support for efficient time interval filtering.
First there are 3 patches to add perf time interval to the itrace options
structure. Then changes to Intel PT to support "fast forwarding" to a
particular timestamp. The filtering is added in patch "perf intel-pt: Add
support for efficient time interval filtering". After that there are
patches to time-utils, leading up to adding a new test and adding support
multiple explicit time intervals.

The Intel PT changes make time filtering much faster because decoding is
limited to the minimal time ranges needed to support the time intervals.

Adrian Hunter (19):
perf auxtrace: Add perf time interval to itrace_synth_ops
perf script: Set perf time interval in itrace_synth_ops
perf report: Set perf time interval in itrace_synth_ops
perf intel-pt: Add lookahead callback
perf intel-pt: Factor out intel_pt_8b_tsc()
perf intel-pt: Factor out intel_pt_reposition()
perf intel-pt: Add reposition parameter to intel_pt_get_data()
perf intel-pt: Add intel_pt_fast_forward()
perf intel-pt: Factor out intel_pt_get_buffer()
perf intel-pt: Add support for lookahead
perf intel-pt: Add support for efficient time interval filtering
perf time-utils: Treat time ranges consistently
perf time-utils: Factor out set_percent_time()
perf time-utils: Prevent percentage time range overlap
perf time-utils: Fix --time documentation
perf time-utils: Simplify perf_time__parse_for_ranges() error paths slightly
perf time-utils: Make perf_time__parse_for_ranges() more logical
perf tests: Add a test for time-utils
perf time-utils: Add support for multiple explicit time intervals

tools/perf/Documentation/perf-diff.txt | 14 +-
tools/perf/Documentation/perf-report.txt | 9 +-
tools/perf/Documentation/perf-script.txt | 9 +-
tools/perf/builtin-report.c | 8 +-
tools/perf/builtin-script.c | 8 +-
tools/perf/tests/Build | 1 +
tools/perf/tests/builtin-test.c | 4 +
tools/perf/tests/tests.h | 1 +
tools/perf/tests/time-utils-test.c | 251 ++++++++++++++++
tools/perf/util/auxtrace.h | 34 +++
.../perf/util/intel-pt-decoder/intel-pt-decoder.c | 188 ++++++++++--
.../perf/util/intel-pt-decoder/intel-pt-decoder.h | 5 +
tools/perf/util/intel-pt.c | 325 +++++++++++++++++++--
tools/perf/util/time-utils.c | 132 ++++++---
14 files changed, 894 insertions(+), 95 deletions(-)
create mode 100644 tools/perf/tests/time-utils-test.c