All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 00/37] perf intel-pt: Power events and PTWRITE
@ 2017-05-26  8:17 Adrian Hunter
  2017-05-26  8:17 ` [PATCH V2 01/37] perf intel-pt: Move decoder error setting into one condition Adrian Hunter
                   ` (37 more replies)
  0 siblings, 38 replies; 100+ messages in thread
From: Adrian Hunter @ 2017-05-26  8:17 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


Changes in V2:

	Reorder patches and add stable tags to fixes.


Adrian Hunter (37):
      perf intel-pt: Move decoder error setting into one condition
      perf intel-pt: Improve sample timestamp
      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: Clear FUP flag on error
      perf intel-pt: Add missing __fallthrough
      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: Add decoder support for ptwrite and power event packets
      perf intel-pt: Add reserved byte to CBR packet payload
      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

 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] 100+ messages in thread

end of thread, other threads:[~2017-07-01  8:57 UTC | newest]

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.