mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Stephane Eranian <eranian@google.com>
To: linux-kernel@vger.kernel.org
Cc: peterz@infradead.org, mingo@elte.hu, ak@linux.intel.com,
	jolsa@redhat.com, acme@redhat.com, namhyung@kernel.org
Subject: [PATCH v1 0/4] perf: add ability to sample interrupted machine state
Date: Wed,  9 Jul 2014 00:15:55 +0200	[thread overview]
Message-ID: <1404857759-25105-1-git-send-email-eranian@google.com> (raw)


This short patch series add the ability to sample the interrupted
machine state for each hardware sample. This is useful to analyze
the state after certain events, for instance for function value
profiling after a call instruction.

The patch extends the interface with a new PERF_SAMPLE_REGS_INTR 
smaple_type flag. The register to sample can be named in the
sample_regs_intr bitmask for each event. The name and bit
position for each register is architecture dependent and
provided, just like for PERF_SAMPLE_REGS_USER by asm/perf_regs.h.

The support is similar to PERF_SAMPLE_REGS_USER.

On Intel x86, the series includes support for capturing the
PEBS state as well. When precise sampling is used, the interrupted
state is collect from the PEBS records, at least partially.
The PEBS machine state is a subset of the machine state.

The series provides access to this new feature in perf record
with the -I option. It is possible to display the sampled
register values using perf report -D.

This patch series is the fundation for a future series adding
function value profiling.

Stephane Eranian (4):
  perf: add ability to sample machine state on interrupt
  perf/x86: add support for sampling PEBS machine state registers
  perf tools: add core support for sampling intr machine state regs
  perf record: add new -I option to sample interrupted machine state

 arch/x86/kernel/cpu/perf_event_intel_ds.c |   19 +++++++++++++
 include/linux/perf_event.h                |    7 +++--
 include/uapi/linux/perf_event.h           |   14 ++++++++-
 kernel/events/core.c                      |   44 +++++++++++++++++++++++++++--
 tools/perf/builtin-record.c               |    2 ++
 tools/perf/perf.h                         |    1 +
 tools/perf/util/event.h                   |    7 +++++
 tools/perf/util/evsel.c                   |   23 ++++++++++++++-
 tools/perf/util/session.c                 |   26 +++++++++++++++++
 9 files changed, 137 insertions(+), 6 deletions(-)


-- 
1.7.9.5


             reply	other threads:[~2014-07-08 22:16 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-08 22:15 Stephane Eranian [this message]
2014-07-08 22:15 ` [PATCH 1/4] perf: add ability to sample machine state on interrupt Stephane Eranian
2014-07-09 15:03   ` Arnaldo Carvalho de Melo
2014-07-09 15:46   ` Andi Kleen
2014-07-11  7:58   ` Jiri Olsa
2014-07-11  8:11   ` Jiri Olsa
2014-07-11  8:14   ` Jiri Olsa
2014-07-08 22:15 ` [PATCH 2/4] perf/x86: add support for sampling PEBS machine state registers Stephane Eranian
2014-07-11  8:15   ` Jiri Olsa
2014-07-08 22:15 ` [PATCH 3/4] perf tools: add core support for sampling intr machine state regs Stephane Eranian
2014-07-09 15:44   ` Andi Kleen
2014-07-11  8:20   ` Jiri Olsa
2014-07-11  8:25   ` Jiri Olsa
2014-07-14 17:54     ` Stephane Eranian
2014-07-11  8:27   ` Jiri Olsa
2014-07-08 22:15 ` [PATCH 4/4] perf record: add new -I option to sample interrupted machine state Stephane Eranian
2014-07-09 15:45   ` Andi Kleen
2014-07-14  8:00   ` Namhyung Kim
2014-07-14 17:52     ` Stephane Eranian
2014-07-09  8:26 ` [PATCH v1 0/4] perf: add ability " Namhyung Kim
2014-07-09 14:53   ` Arnaldo Carvalho de Melo
2014-07-09 15:26     ` Stephane Eranian
2014-07-09 15:47       ` Andi Kleen
2014-07-09 17:14         ` Stephane Eranian

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=1404857759-25105-1-git-send-email-eranian@google.com \
    --to=eranian@google.com \
    --cc=acme@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=namhyung@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®