Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1214000
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 12/22] perf tools: Add Intel PT support for using CYC packets |
| Date | 2015-08-26 18:10 +0200 |
| Message-ID | <q1LqX-2d7-55@gated-at.bofh.it> (permalink) |
| References | <q1Lhf-1M3-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Adrian Hunter <adrian.hunter@intel.com>
CYC packets are a new Intel PT feature.
CYC packets provide even finer grain timestamp information than MTC and
TSC packets. A CYC packet contains the number of CPU cycles since the
last CYC packet. Unlike MTC and TSC packets, CYC packets are only sent
when another packet is also sent.
Support for this feature is indicated by:
/sys/bus/event_source/devices/intel_pt/caps/psb_cyc
which contains "1" if the feature is supported and "0" otherwise.
CYC packets can be requested using a PMU config term e.g. perf record -e
intel_pt/cyc/u sleep 1
The frequency of CYC packets can also be specified. e.g. perf record -e
intel_pt/cyc,cyc_thresh=2/u sleep 1
CYC packets are not requested by default.
Valid cyc_thresh values are given by:
/sys/bus/event_source/devices/intel_pt/caps/cycle_thresholds
which contains a hexadecimal value, the bits of which represent valid
values e.g. bit 2 set means value 2 is valid.
The value represents the minimum number of CPU cycles that must have
passed before a CYC packet can be sent. The number of CPU cycles is:
2 ^ (value - 1)
e.g. value 4 means 8 CPU cycles must pass before a CYC packet can be
sent. Note a CYC packet is still only sent when another packet is sent,
not at, e.g. every 8 CPU cycles.
If an invalid value is entered, the error message will give a list of
valid values e.g.
$ perf record -e intel_pt/cyc,cyc_thresh=15/u uname
Invalid cyc_thresh for intel_pt. Valid values are: 0-12
tools/perf/Documentation/intel-pt.txt is updated in a later patch as
there are a number of new features being added.
For more information refer to the June 2015 or later Intel 64 and IA-32
Architectures SDM Chapter 36 Intel Processor Trace.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1437150840-31811-24-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/arch/x86/util/intel-pt.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tools/perf/arch/x86/util/intel-pt.c b/tools/perf/arch/x86/util/intel-pt.c
index a5de01dad868..2ca10d796c0b 100644
--- a/tools/perf/arch/x86/util/intel-pt.c
+++ b/tools/perf/arch/x86/util/intel-pt.c
@@ -475,6 +475,12 @@ static int intel_pt_validate_config(struct perf_pmu *intel_pt_pmu,
if (!evsel)
return 0;
+ err = intel_pt_val_config_term(intel_pt_pmu, "caps/cycle_thresholds",
+ "cyc_thresh", "caps/psb_cyc",
+ evsel->attr.config);
+ if (err)
+ return err;
+
err = intel_pt_val_config_term(intel_pt_pmu, "caps/mtc_periods",
"mtc_period", "caps/mtc",
evsel->attr.config);
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[GIT PULL 00/22] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:00 +0200 [PATCH 14/22] perf tools: Update Intel PT documentation Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:00 +0200 [PATCH 09/22] perf tools: Add Intel PT support for decoding MTC packets Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:00 +0200 [PATCH 21/22] perf probe: Support probing at absolute address Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:00 +0200 [PATCH 03/22] perf ui tui progress: Implement the ui_progress_ops->finish() method Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:00 +0200 [PATCH 01/22] perf tools: Fix tarball build broken by pt/bts Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:00 +0200 [PATCH 05/22] perf tools: Fix Intel PT 'instructions' sample period Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 16/22] perf tools: Remove export.h from MANIFEST Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 11/22] perf tools: Add Intel PT support for decoding CYC packets Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 04/22] perf ordered_events: Clear the progress bar at the end of a flush Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 08/22] perf tools: Pass Intel PT information for decoding MTC and CYC Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 06/22] perf tools: Add Intel PT support for PSB periods Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 19/22] perf probe: Fix list result when address is zero Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 18/22] perf probe: Fix list result when symbol can't be found Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 07/22] perf tools: Add new Intel PT packet definitions Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 15/22] perf probe: Prevent segfault when reading probe point with absolute address Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 12/22] perf tools: Add Intel PT support for using CYC packets Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 20/22] perf probe: Fix error reported when offset without function Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 22/22] tracing/uprobes: Do not print '0x (null)' when offset is 0 Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 10/22] perf tools: Add Intel PT support for using MTC packets Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 17/22] tools build: Allow duplicate objects in the object list Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 [PATCH 13/22] perf tools: Add Intel PT support for decoding TRACESTOP packets Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 18:10 +0200 Re: [GIT PULL 00/22] perf/core improvements and fixes Ingo Molnar <mingo@kernel.org> - 2015-08-28 08:30 +0200
csiph-web