linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/37] perf intel-pt: Power events and PTWRITE
@ 2017-05-19  8:53 Adrian Hunter
  2017-05-19  8:54 ` [PATCH 01/37] perf intel-pt: Allow decoding with branch tracing disabled Adrian Hunter
                   ` (36 more replies)
  0 siblings, 37 replies; 40+ messages in thread
From: Adrian Hunter @ 2017-05-19  8:53 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Andi Kleen; +Cc: linux-kernel

Hi

Here are some patches to support Intel PT Power events and PTWRITE.
Power events report changes to C-state but I have also added support
for the existing CBR (core-to-bus ratio) packet and included that
when outputting power events.  The PTWRITE packet is associated with
the new ptwrite instruction, which is essentially just a way to stuff
a 32 or 64 bit value into the PT trace.  More details can be found in
the patches that add documentation and in the Intel SDM.

As far as I know, there isn't any hardware released that supports
the new packets, however the CBR packet is not new and will now be
visible by default.

There are also some miscellaneous improvements to Intel PT.

There are 3 patches that introduce a new way to define synthesized
events that carry arbitrary raw_data.  I sent an RFC about that earlier.
The 3 patches are:
      perf script: Add 'synth' event type for synthesized events
      perf script: Add 'synth' field for synthesized event payloads
      perf script: Add synthesized Intel PT power and ptwrite events


Adrian Hunter (37):
      perf intel-pt: Allow decoding with branch tracing disabled
      perf intel-pt: Add default config for pass-through branch enable
      perf intel-pt: Add documentation for new config terms
      perf intel-pt: Fix missing stack clear
      perf intel-pt: Ensure IP is zero when state is INTEL_PT_STATE_NO_IP
      perf intel-pt: Fix last_ip usage
      perf intel-pt: Ensure never to set 'last_ip' when packet 'count' is zero
      perf intel-pt: Use FUP always when scanning for an IP
      perf intel-pt: Add missing __fallthrough
      perf intel-pt: Clear FUP flag on error
      perf intel-pt: Add decoder support for ptwrite and power event packets
      perf intel-pt: Add reserved byte to CBR packet payload
      perf intel-pt: Move decoder error setting into one condition
      perf intel-pt: Add decoder support for CBR events
      perf intel-pt: Remove redundant initial_skip checks
      perf intel-pt: Fix transactions_sample_type
      perf tools: Fix message because cpu list option is -C not -c
      perf script: Fix message because field list option is -F not -f
      perf script: Add 'synth' event type for synthesized events
      perf script: Add 'synth' field for synthesized event payloads
      tools include: Add byte-swapping macros to kernel.h
      perf auxtrace: Add itrace option to output ptwrite events
      perf auxtrace: Add itrace option to output power events
      perf script: Add synthesized Intel PT power and ptwrite events
      perf intel-pt: Factor out common code synthesizing event samples
      perf intel-pt: Remove unused instructions_sample_period
      perf intel-pt: Join needlessly wrapped lines
      perf intel-pt: Tidy Intel PT evsel lookup into separate function
      perf intel-pt: Tidy messages into called function intel_pt_synth_event()
      perf intel-pt: Factor out intel_pt_set_event_name()
      perf intel-pt: Move code in intel_pt_synth_events() to simplify attr setting
      perf intel-pt: Synthesize new power and ptwrite events
      perf intel-pt: Add example script for power events and PTWRITE
      perf intel-pt: Update documentation to include new ptwrite and power events
      perf intel-pt: Do not use TSC packets for calculating CPU cycles to TSC
      perf auxtrace: Add CPU filter support
      perf intel-pt: Improve sample timestamp

 tools/include/linux/kernel.h                       |  35 +-
 tools/perf/Documentation/intel-pt.txt              |  78 ++-
 tools/perf/Documentation/itrace.txt                |   8 +-
 tools/perf/Documentation/perf-script.txt           |   6 +-
 tools/perf/arch/x86/util/intel-pt.c                |   5 +
 tools/perf/builtin-report.c                        |   1 +
 tools/perf/builtin-script.c                        | 207 ++++++-
 .../perf/scripts/python/bin/intel-pt-events-record |  13 +
 .../perf/scripts/python/bin/intel-pt-events-report |   3 +
 tools/perf/scripts/python/intel-pt-events.py       | 128 ++++
 tools/perf/util/auxtrace.c                         |  18 +
 tools/perf/util/auxtrace.h                         |   6 +
 tools/perf/util/event.h                            |  93 +++
 .../perf/util/intel-pt-decoder/intel-pt-decoder.c  | 304 +++++++++-
 .../perf/util/intel-pt-decoder/intel-pt-decoder.h  |  13 +
 .../util/intel-pt-decoder/intel-pt-pkt-decoder.c   | 110 +++-
 .../util/intel-pt-decoder/intel-pt-pkt-decoder.h   |   7 +
 tools/perf/util/intel-pt.c                         | 642 +++++++++++++++------
 tools/perf/util/session.c                          |   2 +-
 19 files changed, 1435 insertions(+), 244 deletions(-)
 create mode 100644 tools/perf/scripts/python/bin/intel-pt-events-record
 create mode 100644 tools/perf/scripts/python/bin/intel-pt-events-report
 create mode 100644 tools/perf/scripts/python/intel-pt-events.py


Regards
Adrian

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2017-05-26  8:32 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-19  8:53 [PATCH 00/37] perf intel-pt: Power events and PTWRITE Adrian Hunter
2017-05-19  8:54 ` [PATCH 01/37] perf intel-pt: Allow decoding with branch tracing disabled Adrian Hunter
2017-05-19  8:54 ` [PATCH 02/37] perf intel-pt: Add default config for pass-through branch enable Adrian Hunter
2017-05-19  8:54 ` [PATCH 03/37] perf intel-pt: Add documentation for new config terms Adrian Hunter
2017-05-19  8:54 ` [PATCH 04/37] perf intel-pt: Fix missing stack clear Adrian Hunter
2017-05-19  8:54 ` [PATCH 05/37] perf intel-pt: Ensure IP is zero when state is INTEL_PT_STATE_NO_IP Adrian Hunter
2017-05-19  8:54 ` [PATCH 06/37] perf intel-pt: Fix last_ip usage Adrian Hunter
2017-05-19  8:54 ` [PATCH 07/37] perf intel-pt: Ensure never to set 'last_ip' when packet 'count' is zero Adrian Hunter
2017-05-19  8:54 ` [PATCH 08/37] perf intel-pt: Use FUP always when scanning for an IP Adrian Hunter
2017-05-19  8:54 ` [PATCH 09/37] perf intel-pt: Add missing __fallthrough Adrian Hunter
2017-05-19  8:54 ` [PATCH 10/37] perf intel-pt: Clear FUP flag on error Adrian Hunter
2017-05-19  8:54 ` [PATCH 11/37] perf intel-pt: Add decoder support for ptwrite and power event packets Adrian Hunter
2017-05-19  8:54 ` [PATCH 12/37] perf intel-pt: Add reserved byte to CBR packet payload Adrian Hunter
2017-05-19  8:54 ` [PATCH 13/37] perf intel-pt: Move decoder error setting into one condition Adrian Hunter
2017-05-19  8:54 ` [PATCH 14/37] perf intel-pt: Add decoder support for CBR events Adrian Hunter
2017-05-19  8:54 ` [PATCH 15/37] perf intel-pt: Remove redundant initial_skip checks Adrian Hunter
2017-05-19  8:54 ` [PATCH 16/37] perf intel-pt: Fix transactions_sample_type Adrian Hunter
2017-05-19  8:54 ` [PATCH 17/37] perf tools: Fix message because cpu list option is -C not -c Adrian Hunter
2017-05-19  8:54 ` [PATCH 18/37] perf script: Fix message because field list option is -F not -f Adrian Hunter
2017-05-19  8:54 ` [PATCH 19/37] perf script: Add 'synth' event type for synthesized events Adrian Hunter
2017-05-19  8:54 ` [PATCH 20/37] perf script: Add 'synth' field for synthesized event payloads Adrian Hunter
2017-05-19  8:54 ` [PATCH 21/37] tools include: Add byte-swapping macros to kernel.h Adrian Hunter
2017-05-19  8:54 ` [PATCH 22/37] perf auxtrace: Add itrace option to output ptwrite events Adrian Hunter
2017-05-19  8:54 ` [PATCH 23/37] perf auxtrace: Add itrace option to output power events Adrian Hunter
2017-05-19  8:54 ` [PATCH 24/37] perf script: Add synthesized Intel PT power and ptwrite events Adrian Hunter
2017-05-19  8:54 ` [PATCH 25/37] perf intel-pt: Factor out common code synthesizing event samples Adrian Hunter
2017-05-19  8:54 ` [PATCH 26/37] perf intel-pt: Remove unused instructions_sample_period Adrian Hunter
2017-05-19  8:54 ` [PATCH 27/37] perf intel-pt: Join needlessly wrapped lines Adrian Hunter
2017-05-19  8:54 ` [PATCH 28/37] perf intel-pt: Tidy Intel PT evsel lookup into separate function Adrian Hunter
2017-05-19  8:54 ` [PATCH 29/37] perf intel-pt: Tidy messages into called function intel_pt_synth_event() Adrian Hunter
2017-05-19  8:54 ` [PATCH 30/37] perf intel-pt: Factor out intel_pt_set_event_name() Adrian Hunter
2017-05-19  8:54 ` [PATCH 31/37] perf intel-pt: Move code in intel_pt_synth_events() to simplify attr setting Adrian Hunter
2017-05-19  8:54 ` [PATCH 32/37] perf intel-pt: Synthesize new power and ptwrite events Adrian Hunter
2017-05-19  8:54 ` [PATCH 33/37] perf intel-pt: Add example script for power events and PTWRITE Adrian Hunter
2017-05-19  8:54 ` [PATCH 34/37] perf intel-pt: Update documentation to include new ptwrite and power events Adrian Hunter
2017-05-19  8:54 ` [PATCH 35/37] perf intel-pt: Do not use TSC packets for calculating CPU cycles to TSC Adrian Hunter
2017-05-19  8:54 ` [PATCH 36/37] perf auxtrace: Add CPU filter support Adrian Hunter
2017-05-19  8:54 ` [PATCH 37/37] perf intel-pt: Improve sample timestamp Adrian Hunter
2017-05-19 14:34   ` Andi Kleen
2017-05-26  8:26     ` Adrian Hunter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).