Re: [PATCH 00/25] perf tools: minor improvements to Intel PT related stuff

From: Arnaldo Carvalho de Melo
Date: Mon Sep 28 2015 - 16:33:44 EST


Em Fri, Sep 25, 2015 at 04:15:31PM +0300, Adrian Hunter escreveu:
> Hi
>
> Here are some minor improvements to Intel PT related stuff.

Thanks, applied all but:

[PATCH 17/25] perf callchain: Allow for max_stack greater than PERF_MAX_STACK_DEPTH

Please take a look at the comments I made on this and a few others that
I applied,

- Arnaldo

> First 3 patches are minor fixes:
>
> perf auxtrace: Fix 'instructions' period of zero
> perf report: Fix sample type validation for synthesized callchains
> perf intel-pt: Fix potential loop forever
>
> Next 4 are minor improvements:
>
> perf intel-pt: Make logging slightly more efficient
> perf script: Allow time to be displayed in nanoseconds
> perf tools: Warn when AUX data has been lost
> perf tools: Add more documentation to export-to-postgresql.py script
>
> Next 7 add support for branch stacks:
>
> perf auxtrace: Add option to synthesize branch stacks on samples
> perf report: Adjust sample type validation for synthesized branch stacks
> perf report: Also do default setup for synthesized branch stacks
> perf report: Skip events with null branch stacks
> perf inject: Set branch stack feature flag when synthesizing branch stacks
> perf intel-pt: Move branch filter logic
> perf intel-pt: Support generating branch stack
>
> Next 6 allow for arbitrary-sized call stacks:
>
> perf report: Make max_stack value allow for synthesized callchains
> perf hists: Allow for max_stack greater than PERF_MAX_STACK_DEPTH
> perf callchain: Allow for max_stack greater than PERF_MAX_STACK_DEPTH
> perf script: Add a setting for maximum stack depth
> perf scripting python: Allow for max_stack greater than PERF_MAX_STACK_DEPTH
> perf script: Make scripting_max_stack value allow for synthesized callchains
>
> Final 5 let Intel PT be used with autofdo:
>
> perf tools: Add perf_evlist__id2evsel_strict()
> perf tools: Add perf_evlist__del()
> perf inject: Remove more aux-related stuff when processing instruction traces
> perf inject: Add --strip option to strip out non-synthesized events
> perf intel-pt: Add mispred-all config option to aid use with autofdo
>
>
> Adrian Hunter (25):
> perf auxtrace: Fix 'instructions' period of zero
> perf report: Fix sample type validation for synthesized callchains
> perf intel-pt: Fix potential loop forever
> perf intel-pt: Make logging slightly more efficient
> perf script: Allow time to be displayed in nanoseconds
> perf tools: Warn when AUX data has been lost
> perf tools: Add more documentation to export-to-postgresql.py script
> perf auxtrace: Add option to synthesize branch stacks on samples
> perf report: Adjust sample type validation for synthesized branch stacks
> perf report: Also do default setup for synthesized branch stacks
> perf report: Skip events with null branch stacks
> perf inject: Set branch stack feature flag when synthesizing branch stacks
> perf intel-pt: Move branch filter logic
> perf intel-pt: Support generating branch stack
> perf report: Make max_stack value allow for synthesized callchains
> perf hists: Allow for max_stack greater than PERF_MAX_STACK_DEPTH
> perf callchain: Allow for max_stack greater than PERF_MAX_STACK_DEPTH
> perf script: Add a setting for maximum stack depth
> perf scripting python: Allow for max_stack greater than PERF_MAX_STACK_DEPTH
> perf script: Make scripting_max_stack value allow for synthesized callchains
> perf tools: Add perf_evlist__id2evsel_strict()
> perf tools: Add perf_evlist__del()
> perf inject: Remove more aux-related stuff when processing instruction traces
> perf inject: Add --strip option to strip out non-synthesized events
> perf intel-pt: Add mispred-all config option to aid use with autofdo
>
> tools/perf/Documentation/intel-pt.txt | 39 ++++
> tools/perf/Documentation/itrace.txt | 4 +
> tools/perf/Documentation/perf-inject.txt | 3 +
> tools/perf/Documentation/perf-script.txt | 3 +
> tools/perf/builtin-inject.c | 125 +++++++++++-
> tools/perf/builtin-report.c | 31 ++-
> tools/perf/builtin-script.c | 18 +-
> tools/perf/scripts/python/export-to-postgresql.py | 221 +++++++++++++++++++++
> tools/perf/util/auxtrace.c | 24 ++-
> tools/perf/util/auxtrace.h | 4 +
> tools/perf/util/event.h | 1 +
> tools/perf/util/evlist.c | 23 +++
> tools/perf/util/evlist.h | 3 +
> tools/perf/util/hist.c | 6 +-
> tools/perf/util/hist.h | 1 +
> .../perf/util/intel-pt-decoder/intel-pt-decoder.c | 4 +-
> tools/perf/util/intel-pt-decoder/intel-pt-log.c | 21 +-
> tools/perf/util/intel-pt-decoder/intel-pt-log.h | 38 +++-
> tools/perf/util/intel-pt.c | 135 ++++++++++++-
> tools/perf/util/machine.c | 2 +-
> .../util/scripting-engines/trace-event-python.c | 2 +-
> tools/perf/util/session.c | 12 +-
> tools/perf/util/trace-event.h | 2 +
> 23 files changed, 686 insertions(+), 36 deletions(-)
>
>
> Regards
> Adrian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/