All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	linux-kernel@vger.kernel.org, David Ahern <dsahern@gmail.com>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@gmail.com>,
	Paul Mackerras <paulus@samba.org>,
	Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH V4 00/23] perf tools: Introduce an abstraction for Instruction Tracing
Date: Tue, 10 Feb 2015 14:31:56 +0200	[thread overview]
Message-ID: <54D9FA3C.20400@intel.com> (raw)
In-Reply-To: <1420721547-26470-1-git-send-email-adrian.hunter@intel.com>

On 08/01/15 14:52, Adrian Hunter wrote:
> Hi
> 
> Here is V4 of some more preparatory patches for Intel PT
> that introduce an abstraction for Instruction tracing.
> 
> The master branch of the tree:
> 
> 	git://git.infradead.org/users/ahunter/linux-perf.git
> 
> contains these patches plus Intel PT and BTS and the kernel driver.
> 

Arnaldo, I was thinking of sending V5 (re-based plus a couple of small
changes) but there seem to be a number of large patch sets pending and I
also have the main Intel PT patches (25 patches), so I was wondering if you
have preferred order for handling them all?

AFAICT Peter has accepted the Intel PT kernel driver but I don't know if it
will be in 3.20.


> Changes in V4:
> 
> 	perf tools: Add build option NO_ITRACE to exclude Instruction Tracing
> 		New patch
> 
> 	Re-based on Arnaldo's perf/core branch:
> 
> 		3dd417d4010c8e141b0f32121cdc8d82aa4a9c6a
> 		perf tools: Remove some unused functions from color.c
> 
> Changes in V3:
> 
> 	perf tools: Add support for Instruction Trace recording
> 		Added evsel as a parameter to itrace_record__init
> 
> 	perf record: Add basic Instruction Tracing support
> 		Moved the call to itrace_record__init after parse
> 		options so that evsel could be passed and the
> 		selected events used to determine what kind of
> 		Instruction Tracing to use e.g. Intel PT vs BTS
> 
> 	Re-based on Arnaldo's perf/core branch:
> 
> 		41e950c033b7df997d4b38653efe6554be9b96a7
> 		Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
> 
> Changes in V2:
> 
> 	Dropped patches already applied.
> 
> 	Re-based on Arnaldo's perf/core branch:
> 
> 		a84808083688d82d7f1e5786ccf5df0ff7d448cb
> 		perf tools: Only override the default :tid comm entry
> 
> 
> The abstraction has two separate aspects:
> 	1. recording Instruction Trace data
> 	2. processing Instruction Trace data
> 
> Recording consists of mmapping a separate buffer and copying
> the data into the perf.data file.  The buffer is an AUX area
> buffer although the details of the AUX area are not implemented
> because the kernel support is pending.  The data is written
> preceded by a new user event PERF_RECORD_ITRACE.  The data is
> too big to fit in the event but follows immediately afterward.
> Session processing has to skip to get to the next event header
> in a similar fashion to the existing PERF_RECORD_HEADER_TRACING_DATA
> event.  The main recording patches are:
> 
>       perf evlist: Add initial support for mmapping an Instruction Trace buffer
>       perf tools: Add user events for Instruction Tracing
>       perf tools: Add support for Instruction Trace recording
>       perf record: Add basic Instruction Tracing support
> 
> Processing consists of providing hooks in session processing
> to enable an Instruction Trace decoder to see all the events
> and deliver synthesized events transparently into the event
> stream.  The main processing patch is:
> 
>       perf session: Add hooks to allow transparent decoding of Instruction Tracing data
> 
> 
> Adrian Hunter (23):
>       perf header: Add Instruction Tracing feature
>       perf evlist: Add initial support for mmapping an Instruction Trace buffer
>       perf tools: Add user events for Instruction Tracing
>       perf tools: Add support for Instruction Trace recording
>       perf record: Add basic Instruction Tracing support
>       perf record: Extend -m option for Instruction Tracing mmap pages
>       perf tools: Add a user event for Instruction Tracing errors
>       perf session: Add hooks to allow transparent decoding of Instruction Tracing data
>       perf session: Add Instruction Tracing options
>       perf itrace: Add helpers for Instruction Tracing errors
>       perf itrace: Add helpers for queuing Instruction Tracing data
>       perf itrace: Add a heap for sorting Instruction Tracing queues
>       perf itrace: Add processing for Instruction Tracing events
>       perf itrace: Add a hashtable for caching decoded instructions
>       perf tools: Add member to struct dso for an instruction cache
>       perf script: Add Instruction Tracing support
>       perf script: Always allow fields 'addr' and 'cpu' for itrace
>       perf report: Add Instruction Tracing support
>       perf inject: Re-pipe Instruction Tracing events
>       perf inject: Add Instruction Tracing support
>       perf tools: Add Instruction Tracing index
>       perf tools: Hit all build ids when Instruction Tracing
>       perf tools: Add build option NO_ITRACE to exclude Instruction Tracing
> 
>  tools/perf/Documentation/perf-inject.txt |   27 +
>  tools/perf/Documentation/perf-record.txt |    2 +
>  tools/perf/Documentation/perf-report.txt |   28 +
>  tools/perf/Documentation/perf-script.txt |   28 +
>  tools/perf/Makefile.perf                 |    6 +
>  tools/perf/builtin-buildid-list.c        |    9 +
>  tools/perf/builtin-inject.c              |  172 +++-
>  tools/perf/builtin-record.c              |  186 ++++-
>  tools/perf/builtin-report.c              |   12 +
>  tools/perf/builtin-script.c              |   39 +-
>  tools/perf/config/Makefile               |    4 +
>  tools/perf/perf.h                        |    2 +
>  tools/perf/tests/make                    |    2 +
>  tools/perf/util/dso.c                    |    2 +
>  tools/perf/util/dso.h                    |    3 +
>  tools/perf/util/event.c                  |    3 +
>  tools/perf/util/event.h                  |   38 +
>  tools/perf/util/evlist.c                 |   70 +-
>  tools/perf/util/evlist.h                 |    6 +
>  tools/perf/util/header.c                 |   36 +
>  tools/perf/util/header.h                 |    1 +
>  tools/perf/util/itrace.c                 | 1258 ++++++++++++++++++++++++++++++
>  tools/perf/util/itrace.h                 |  561 +++++++++++++
>  tools/perf/util/record.c                 |   11 +-
>  tools/perf/util/session.c                |  148 +++-
>  tools/perf/util/session.h                |    6 +
>  tools/perf/util/tool.h                   |   10 +-
>  27 files changed, 2624 insertions(+), 46 deletions(-)
>  create mode 100644 tools/perf/util/itrace.c
>  create mode 100644 tools/perf/util/itrace.h
> 
> 
> Regards
> Adrian
> 
> 


  parent reply	other threads:[~2015-02-10 12:33 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-08 12:52 [PATCH V4 00/23] perf tools: Introduce an abstraction for Instruction Tracing Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 01/23] perf header: Add Instruction Tracing feature Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 02/23] perf evlist: Add initial support for mmapping an Instruction Trace buffer Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 03/23] perf tools: Add user events for Instruction Tracing Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 04/23] perf tools: Add support for Instruction Trace recording Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 05/23] perf record: Add basic Instruction Tracing support Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 06/23] perf record: Extend -m option for Instruction Tracing mmap pages Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 07/23] perf tools: Add a user event for Instruction Tracing errors Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 08/23] perf session: Add hooks to allow transparent decoding of Instruction Tracing data Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 09/23] perf session: Add Instruction Tracing options Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 10/23] perf itrace: Add helpers for Instruction Tracing errors Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 11/23] perf itrace: Add helpers for queuing Instruction Tracing data Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 12/23] perf itrace: Add a heap for sorting Instruction Tracing queues Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 13/23] perf itrace: Add processing for Instruction Tracing events Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 14/23] perf itrace: Add a hashtable for caching decoded instructions Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 15/23] perf tools: Add member to struct dso for an instruction cache Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 16/23] perf script: Add Instruction Tracing support Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 17/23] perf script: Always allow fields 'addr' and 'cpu' for itrace Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 18/23] perf report: Add Instruction Tracing support Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 19/23] perf inject: Re-pipe Instruction Tracing events Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 20/23] perf inject: Add Instruction Tracing support Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 21/23] perf tools: Add Instruction Tracing index Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 22/23] perf tools: Hit all build ids when Instruction Tracing Adrian Hunter
2015-01-08 12:52 ` [PATCH V4 23/23] perf tools: Add build option NO_ITRACE to exclude " Adrian Hunter
2015-02-10 12:31 ` Adrian Hunter [this message]
2015-02-11 20:40   ` [PATCH V4 00/23] perf tools: Introduce an abstraction for " Arnaldo Carvalho de Melo

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=54D9FA3C.20400@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=acme@kernel.org \
    --cc=dsahern@gmail.com \
    --cc=eranian@google.com \
    --cc=fweisbec@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung@gmail.com \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.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 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.