linux/tools/perf/arch/x86/util
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
..
auxtrace.c perf tools: Add Intel BTS support 2015-08-21 11:34:10 -03:00
Build perf tools: Add Intel BTS support 2015-08-21 11:34:10 -03:00
dwarf-regs.c perf tools: Fix build on non-glibc systems due to libio.h absence 2013-03-15 13:05:13 -03:00
header.c perf tools: Use scnprintf where applicable 2012-03-14 12:36:19 -03:00
intel-bts.c perf tools: Add Intel BTS support 2015-08-21 11:34:10 -03:00
intel-pt.c perf tools: Add Intel PT support for PSB periods 2015-08-24 17:45:08 -03:00
kvm-stat.c perf kvm: Add skip_event() for --duration option 2014-07-16 17:57:32 -03:00
pmu.c perf tools: Add Intel BTS support 2015-08-21 11:34:10 -03:00
tsc.c perf tools: Move rdtsc() function 2014-07-23 11:48:11 -03:00
tsc.h perf tools: Allow TSC conversion on any arch 2014-07-17 12:59:00 -03:00
unwind-libdw.c perf tools: Add libdw DWARF post unwind support 2014-02-24 09:29:36 -03:00
unwind-libunwind.c perf tools: Move pr_* debug macros into debug object 2014-07-17 12:58:39 -03:00