diff options
author | Robert Richter <robert.richter@amd.com> | 2012-08-07 13:43:16 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-08-08 11:42:21 -0400 |
commit | 2055fdaf8703d3101b12e0d9b7cbceaeabe35c17 (patch) | |
tree | b7ba58e815f717efeba03ab92fb40ab9f11b0d47 /tools/perf | |
parent | 75bc5ca89827fe3f2399321b2920a30bcf658049 (diff) |
perf list: Document precise event sampling for AMD IBS
Updating man perf-list.
Signed-off-by: Robert Richter <robert.richter@amd.com>
Cc: Ingo Molnar <mingo@kernel.org>
Link: http://lkml.kernel.org/r/1344361396-7237-7-git-send-email-robert.richter@amd.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r-- | 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 232be519580a..d1e39dc8c810 100644 --- a/tools/perf/Documentation/perf-list.txt +++ b/tools/perf/Documentation/perf-list.txt | |||
@@ -20,20 +20,38 @@ EVENT MODIFIERS | |||
20 | --------------- | 20 | --------------- |
21 | 21 | ||
22 | Events can optionally have a modifer by appending a colon and one or | 22 | Events can optionally have a modifer by appending a colon and one or |
23 | more modifiers. Modifiers allow the user to restrict when events are | 23 | more modifiers. Modifiers allow the user to restrict the events to be |
24 | counted with 'u' for user-space, 'k' for kernel, 'h' for hypervisor. | 24 | counted. The following modifiers exist: |
25 | Additional modifiers are 'G' for guest counting (in KVM guests) and 'H' | 25 | |
26 | for host counting (not in KVM guests). | 26 | u - user-space counting |
27 | k - kernel counting | ||
28 | h - hypervisor counting | ||
29 | G - guest counting (in KVM guests) | ||
30 | H - host counting (not in KVM guests) | ||
31 | p - precise level | ||
27 | 32 | ||
28 | The 'p' modifier can be used for specifying how precise the instruction | 33 | The 'p' modifier can be used for specifying how precise the instruction |
29 | address should be. The 'p' modifier is currently only implemented for | 34 | address should be. The 'p' modifier can be specified multiple times: |
30 | Intel PEBS and can be specified multiple times: | 35 | |
31 | 0 - SAMPLE_IP can have arbitrary skid | 36 | 0 - SAMPLE_IP can have arbitrary skid |
32 | 1 - SAMPLE_IP must have constant skid | 37 | 1 - SAMPLE_IP must have constant skid |
33 | 2 - SAMPLE_IP requested to have 0 skid | 38 | 2 - SAMPLE_IP requested to have 0 skid |
34 | 3 - SAMPLE_IP must have 0 skid | 39 | 3 - SAMPLE_IP must have 0 skid |
40 | |||
41 | For Intel systems precise event sampling is implemented with PEBS | ||
42 | which supports up to precise-level 2. | ||
43 | |||
44 | On AMD systems it is implemented using IBS (up to precise-level 2). | ||
45 | The precise modifier works with event types 0x76 (cpu-cycles, CPU | ||
46 | clocks not halted) and 0xC1 (micro-ops retired). Both events map to | ||
47 | IBS execution sampling (IBS op) with the IBS Op Counter Control bit | ||
48 | (IbsOpCntCtl) set respectively (see AMD64 Architecture Programmer’s | ||
49 | Manual Volume 2: System Programming, 13.3 Instruction-Based | ||
50 | Sampling). Examples to use IBS: | ||
35 | 51 | ||
36 | The PEBS implementation now supports up to 2. | 52 | perf record -a -e cpu-cycles:p ... # use ibs op counting cycles |
53 | perf record -a -e r076:p ... # same as -e cpu-cycles:p | ||
54 | perf record -a -e r0C1:p ... # use ibs op counting micro-ops | ||
37 | 55 | ||
38 | RAW HARDWARE EVENT DESCRIPTOR | 56 | RAW HARDWARE EVENT DESCRIPTOR |
39 | ----------------------------- | 57 | ----------------------------- |
@@ -97,4 +115,4 @@ SEE ALSO | |||
97 | linkperf:perf-stat[1], linkperf:perf-top[1], | 115 | linkperf:perf-stat[1], linkperf:perf-top[1], |
98 | linkperf:perf-record[1], | 116 | linkperf:perf-record[1], |
99 | http://www.intel.com/Assets/PDF/manual/253669.pdf[Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 3B: System Programming Guide], | 117 | http://www.intel.com/Assets/PDF/manual/253669.pdf[Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 3B: System Programming Guide], |
100 | http://support.amd.com/us/Processor_TechDocs/24593.pdf[AMD64 Architecture Programmer’s Manual Volume 2: System Programming] | 118 | http://support.amd.com/us/Processor_TechDocs/24593_APM_v2.pdf[AMD64 Architecture Programmer’s Manual Volume 2: System Programming] |