From: Adrian Hunter <adrian.hunter@intel.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>,
Andi Kleen <ak@linux.intel.com>
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH 00/37] perf intel-pt: Power events and PTWRITE
Date: Fri, 19 May 2017 11:53:59 +0300 [thread overview]
Message-ID: <1495184076-23805-1-git-send-email-adrian.hunter@intel.com> (raw)
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
next reply other threads:[~2017-05-19 9:00 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-19 8:53 Adrian Hunter [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1495184076-23805-1-git-send-email-adrian.hunter@intel.com \
--to=adrian.hunter@intel.com \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox