All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Richter <robert.richter@amd.com>
To: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@elte.hu>,
	Stephane Eranian <eranian@google.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Robert Richter <robert.richter@amd.com>
Subject: [PATCH 0/4] perf tools: Add support for IBS
Date: Thu, 15 Dec 2011 18:23:40 +0100	[thread overview]
Message-ID: <1323969824-9711-1-git-send-email-robert.richter@amd.com> (raw)

This patch series adds perf tool support for IBS. It is related to the
kernel patches I sent out recently.

IBS is implemented using dynamic pmu allocation. Thus, esp. event
selection and sample encoding requires handling of dynamically
generated pmu identifiers that can be queried in sysfs. For ibs there
exists 2 pmus:

 /sys/bus/event_source/devices/ibs_op/type
 /sys/bus/event_source/devices/ibs_fetch/type

Lin's patch implements a new syntax to specify events of dynamically
allocated pmus. This can be used to specify ibs events for perf
record, etc., for example:

 perf record -e ibs_op:r0 -c 100000 -R -a <command>
 perf record -e ibs_fetch:r0 -c 100000 -R -a <command>

With patch #2 dynamically generated pmu mappings are added to the
perf.data header. This information is required to decode samples and
to find the originating pmu it is comming from. Since the information
in sysfs may change we need to store it in the header.

A generic perl handler is added to process IBS events with perf
script. There was only support for tracepoints. The following perf
script commands can be used to collect and display IBS samples:

 perf script ibs ibs_op <command>
 perf script ibs ibs_fetch <command>
 perf script record ibs ibs_op -c 500000 <command>
 perf script report ibs
 perf script record ibs ibs_op -c 500000 <command> | perf script report ibs

-Robert


Lin Ming (1):
  perf tool: Parse general/raw events from sysfs

Robert Richter (3):
  perf tools: Add pmu mappings to header information
  perf script: Add generic perl handler to process events
  perf script: Add script to collect and display IBS samples

 tools/perf/scripts/perl/bin/ibs-record             |   23 +++++
 tools/perf/scripts/perl/bin/ibs-report             |    6 +
 tools/perf/scripts/perl/ibs.pl                     |   47 +++++++++
 tools/perf/util/header.c                           |   99 ++++++++++++++++++++
 tools/perf/util/header.h                           |    1 +
 tools/perf/util/parse-events.c                     |   84 ++++++++++++++++-
 .../perf/util/scripting-engines/trace-event-perl.c |   73 +++++++++++++-
 7 files changed, 325 insertions(+), 8 deletions(-)
 create mode 100644 tools/perf/scripts/perl/bin/ibs-record
 create mode 100644 tools/perf/scripts/perl/bin/ibs-report
 create mode 100644 tools/perf/scripts/perl/ibs.pl

-- 
1.7.7



             reply	other threads:[~2011-12-15 17:30 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-15 17:23 Robert Richter [this message]
2011-12-15 17:23 ` [PATCH 1/4] perf tool: Parse general/raw events from sysfs Robert Richter
2011-12-21 16:52   ` Robert Richter
2012-01-02 11:07   ` Stephane Eranian
2011-12-15 17:23 ` [PATCH 2/4] perf tools: Add pmu mappings to header information Robert Richter
2011-12-15 17:23 ` [PATCH 3/4] perf script: Add generic perl handler to process events Robert Richter
2011-12-29 20:56   ` [tip:perf/core] " tip-bot for Robert Richter
2011-12-15 17:23 ` [PATCH 4/4] perf script: Add script to collect and display IBS samples Robert Richter
2011-12-15 19:19   ` David Ahern
2011-12-15 23:47     ` Robert Richter
2011-12-23 10:33   ` Ingo Molnar
2011-12-23 11:19     ` Robert Richter
2011-12-23 13:53       ` Ingo Molnar
2011-12-23 14:14         ` Peter Zijlstra
2011-12-23 14:40           ` Ingo Molnar
2011-12-23 16:17             ` Robert Richter
2011-12-23 16:39               ` Ingo Molnar
2011-12-23 16:50                 ` Robert Richter
2011-12-30  9:55                   ` Ingo Molnar
2012-02-02 11:21                     ` Robert Richter
2012-03-08 12:19                       ` Ingo Molnar
2012-03-09 11:41                         ` Robert Richter
2012-03-21 18:13                           ` Robert Richter
2012-03-22  7:51                             ` Ingo Molnar

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=1323969824-9711-1-git-send-email-robert.richter@amd.com \
    --to=robert.richter@amd.com \
    --cc=acme@redhat.com \
    --cc=eranian@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --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.