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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome