kernel_optimize_test/tools/perf/arch
Adrian Hunter bc9b6bf07c perf tools: Add Intel PT support for PSB periods
The PSB packet is a synchronization packet that provides a starting
point for decoding or recovery from errors.

This patch adds support for a new Intel PT feature that allows the
frequency of PSB packets to be specified.

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.

The PSB period can be specified as a PMU config term e.g. perf record -e
intel_pt/psb_period=2/u sleep 1

The default value is 3 or the nearest lower value that is supported.  0
is always supported.

Valid values are given by:

/sys/bus/event_source/devices/intel_pt/caps/psb_periods

which contains a hexadecimal value, the bits of which represent valid
values e.g. bit 2 set means value 2 is valid.

The value is converted to the approximate number of trace bytes between
PSB packets as:

	2 ^ (value + 11)

e.g. value 3 means 16KiB bytes between PSBs

If an invalid value is entered, the error message will give a list of
valid values e.g.

	$ perf record -e intel_pt/psb_period=15/u uname
	Invalid psb_period for intel_pt. Valid values are: 0-5

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 about PSB periods refer to the Intel 64 and IA-32
Architectures SDM Chapter 36 Intel Processor Trace from June 2015 or
later.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1437150840-31811-18-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-08-24 17:45:08 -03:00
..
alpha perf tools: Add empty Build files for architectures lacking them 2015-08-06 16:24:15 -03:00
arm perf build: Add arch arm objects building 2015-02-12 13:13:01 -03:00
arm64 perf tools: Add ARM64 perf_regs_load to support libunwind and enable testing 2015-05-29 12:43:40 -03:00
mips perf tools: Add empty Build files for architectures lacking them 2015-08-06 16:24:15 -03:00
parisc perf tools: Add empty Build files for architectures lacking them 2015-08-06 16:24:15 -03:00
powerpc perf probe ppc64le: Fixup function entry if using kallsyms lookup 2015-05-04 12:43:47 -03:00
s390 perf build: Add arch s390 objects building 2015-02-12 13:20:59 -03:00
sh perf build: Add arch sh objects building 2015-02-12 13:21:31 -03:00
sparc perf build: Add arch sparc objects building 2015-02-12 13:22:01 -03:00
x86 perf tools: Add Intel PT support for PSB periods 2015-08-24 17:45:08 -03:00
xtensa perf tools xtensa: Add DWARF register names 2015-08-06 16:45:05 -03:00
Build perf build: Add arch x86 objects building 2015-02-12 13:12:01 -03:00
common.c perf tools: Assign default value for some pointers 2015-05-27 12:21:45 -03:00
common.h perf tools: Try to find cross-built objdump path 2012-10-24 14:20:11 -02:00