From: Robert Richter <robert.richter@amd.com>
To: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Robert Richter <robert.richter@amd.com>
Subject: [PATCH 6/6] perf, tools: Document precise event sampling for AMD IBS
Date: Tue, 7 Aug 2012 19:43:16 +0200 [thread overview]
Message-ID: <1344361396-7237-7-git-send-email-robert.richter@amd.com> (raw)
In-Reply-To: <1344361396-7237-1-git-send-email-robert.richter@amd.com>
Updating man perf-list.
Signed-off-by: Robert Richter <robert.richter@amd.com>
---
tools/perf/Documentation/perf-list.txt | 42 ++++++++++++++++++++++---------
1 files changed, 30 insertions(+), 12 deletions(-)
diff --git a/tools/perf/Documentation/perf-list.txt b/tools/perf/Documentation/perf-list.txt
index 232be51..d1e39dc 100644
--- a/tools/perf/Documentation/perf-list.txt
+++ b/tools/perf/Documentation/perf-list.txt
@@ -20,20 +20,38 @@ EVENT MODIFIERS
---------------
Events can optionally have a modifer by appending a colon and one or
-more modifiers. Modifiers allow the user to restrict when events are
-counted with 'u' for user-space, 'k' for kernel, 'h' for hypervisor.
-Additional modifiers are 'G' for guest counting (in KVM guests) and 'H'
-for host counting (not in KVM guests).
+more modifiers. Modifiers allow the user to restrict the events to be
+counted. The following modifiers exist:
+
+ u - user-space counting
+ k - kernel counting
+ h - hypervisor counting
+ G - guest counting (in KVM guests)
+ H - host counting (not in KVM guests)
+ p - precise level
The 'p' modifier can be used for specifying how precise the instruction
-address should be. The 'p' modifier is currently only implemented for
-Intel PEBS and can be specified multiple times:
- 0 - SAMPLE_IP can have arbitrary skid
- 1 - SAMPLE_IP must have constant skid
- 2 - SAMPLE_IP requested to have 0 skid
- 3 - SAMPLE_IP must have 0 skid
+address should be. The 'p' modifier can be specified multiple times:
+
+ 0 - SAMPLE_IP can have arbitrary skid
+ 1 - SAMPLE_IP must have constant skid
+ 2 - SAMPLE_IP requested to have 0 skid
+ 3 - SAMPLE_IP must have 0 skid
+
+For Intel systems precise event sampling is implemented with PEBS
+which supports up to precise-level 2.
+
+On AMD systems it is implemented using IBS (up to precise-level 2).
+The precise modifier works with event types 0x76 (cpu-cycles, CPU
+clocks not halted) and 0xC1 (micro-ops retired). Both events map to
+IBS execution sampling (IBS op) with the IBS Op Counter Control bit
+(IbsOpCntCtl) set respectively (see AMD64 Architecture Programmer’s
+Manual Volume 2: System Programming, 13.3 Instruction-Based
+Sampling). Examples to use IBS:
-The PEBS implementation now supports up to 2.
+ perf record -a -e cpu-cycles:p ... # use ibs op counting cycles
+ perf record -a -e r076:p ... # same as -e cpu-cycles:p
+ perf record -a -e r0C1:p ... # use ibs op counting micro-ops
RAW HARDWARE EVENT DESCRIPTOR
-----------------------------
@@ -97,4 +115,4 @@ SEE ALSO
linkperf:perf-stat[1], linkperf:perf-top[1],
linkperf:perf-record[1],
http://www.intel.com/Assets/PDF/manual/253669.pdf[Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 3B: System Programming Guide],
-http://support.amd.com/us/Processor_TechDocs/24593.pdf[AMD64 Architecture Programmer’s Manual Volume 2: System Programming]
+http://support.amd.com/us/Processor_TechDocs/24593_APM_v2.pdf[AMD64 Architecture Programmer’s Manual Volume 2: System Programming]
--
1.7.8.4
next prev parent reply other threads:[~2012-08-07 17:44 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-07 17:43 [PATCH 0/6] perf, tools: Fixes and documentation updates Robert Richter
2012-08-07 17:43 ` [PATCH 1/6] perf, tools: Fix version file for perf documentation with OUTPUT variable set Robert Richter
2012-08-21 15:25 ` [tip:perf/core] perf " tip-bot for Robert Richter
2012-08-07 17:43 ` [PATCH 2/6] perf, tools: Fix lib/traceevent build dir " Robert Richter
2012-08-21 15:26 ` [tip:perf/core] perf tools: Fix lib/ traceevent " tip-bot for Robert Richter
2012-08-07 17:43 ` [PATCH 3/6] perf, tools: Fix parsing of 64 bit raw config value for 32 bit Robert Richter
2012-08-21 15:27 ` [tip:perf/core] perf " tip-bot for Robert Richter
2012-08-07 17:43 ` [PATCH 4/6] perf, tools: Fix cast from pointer to integer " Robert Richter
2012-08-21 15:28 ` [tip:perf/core] tools lib traceevent: " tip-bot for Robert Richter
2012-08-07 17:43 ` [PATCH 5/6] perf, tools: Update documentation about raw event setup Robert Richter
2012-08-21 15:29 ` [tip:perf/core] perf list: " tip-bot for Robert Richter
2012-08-07 17:43 ` Robert Richter [this message]
2012-08-21 15:29 ` [tip:perf/core] perf list: Document precise event sampling for AMD IBS tip-bot for Robert Richter
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=1344361396-7237-7-git-send-email-robert.richter@amd.com \
--to=robert.richter@amd.com \
--cc=acme@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@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 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.