Blame src/libpfm4/docs/man3/libpfm_intel_ivb.3

Packit 577717
.TH LIBPFM 3  "August, 2012" "" "Linux Programmer's Manual"
Packit 577717
.SH NAME
Packit 577717
libpfm_intel_ivb - support for Intel Ivy Bridge core PMU
Packit 577717
.SH SYNOPSIS
Packit 577717
.nf
Packit 577717
.B #include <perfmon/pfmlib.h>
Packit 577717
.sp
Packit 577717
.B PMU name: ivb
Packit 577717
.B PMU desc: Intel Ivy Bridge
Packit 577717
.B PMU name: ivb_ep
Packit 577717
.B PMU desc: Intel Ivy Bridge EP
Packit 577717
.sp
Packit 577717
.SH DESCRIPTION
Packit 577717
The library supports the Intel Ivy Bridge core PMU. It should be noted that
Packit 577717
this PMU model only covers each core's PMU and not the socket level
Packit 577717
PMU.
Packit 577717
Packit 577717
On Ivy Bridge, the number of generic counters depends on the Hyperthreading (HT) mode.
Packit 577717
When HT is on, then only 4 generic counters are available. When HT is off, then 8 generic
Packit 577717
counters are available. The \fBpfm_get_pmu_info()\fR function returns the maximum number
Packit 577717
of generic counters in \fBnum_cntrs\fr.
Packit 577717
Packit 577717
.SH MODIFIERS
Packit 577717
The following modifiers are supported on Intel Ivy Bridge processors:
Packit 577717
.TP
Packit 577717
.B u
Packit 577717
Measure at user level which includes privilege levels 1, 2, 3. This corresponds to \fBPFM_PLM3\fR.
Packit 577717
This is a boolean modifier.
Packit 577717
.TP
Packit 577717
.B k
Packit 577717
Measure at kernel level which includes privilege level 0. This corresponds to \fBPFM_PLM0\fR.
Packit 577717
This is a boolean modifier.
Packit 577717
.TP
Packit 577717
.B i
Packit 577717
Invert the meaning of the event. The counter will now count cycles in which the event is \fBnot\fR
Packit 577717
occurring. This is a boolean modifier
Packit 577717
.TP
Packit 577717
.B e
Packit 577717
Enable edge detection, i.e., count only when there is a state transition from no occurrence of the event
Packit 577717
to at least one occurrence. This modifier must be combined with a counter mask modifier (m) with a value greater or equal to one.
Packit 577717
This is a boolean modifier.
Packit 577717
.TP
Packit 577717
.B c
Packit 577717
Set the counter mask value. The mask acts as a threshold. The counter will count the number of cycles
Packit 577717
in which the number of occurrences of the event is greater or equal to the threshold. This is an integer
Packit 577717
modifier with values in the range [0:255].
Packit 577717
.TP
Packit 577717
.B t
Packit 577717
Measure on both threads at the same time assuming hyper-threading is enabled. This is a boolean modifier.
Packit 577717
.TP
Packit 577717
.B ldlat
Packit 577717
Pass a latency threshold to the MEM_TRANS_RETIRED:LATENCY_ABOVE_THRESHOLD event.
Packit 577717
This is an integer attribute that must be in the range [3:65535]. It is required
Packit 577717
for this event.  Note that the event must be used with precise sampling (PEBS).
Packit 577717
Packit 577717
.SH OFFCORE_RESPONSE events
Packit 577717
Intel Ivy Bridge provides two offcore_response events. They are called OFFCORE_RESPONSE_0 and OFFCORE_RESPONSE_1.
Packit 577717
Packit 577717
Those events need special treatment in the performance monitoring infrastructure
Packit 577717
because each event uses an extra register to store some settings. Thus, in
Packit 577717
case multiple offcore_response events are monitored simultaneously, the kernel needs
Packit 577717
to manage the sharing of that extra register.
Packit 577717
Packit 577717
The offcore_response events are exposed as a normal events by the library. The extra
Packit 577717
settings are exposed as regular umasks. The library takes care of encoding the
Packit 577717
events according to the underlying kernel interface.
Packit 577717
Packit 577717
On Intel Ivy Bridge, the umasks are divided into three categories: request, supplier
Packit 577717
and snoop. The user must provide at least one umask for each category. The categories
Packit 577717
are shown in the umask descriptions.
Packit 577717
Packit 577717
There is also the special response umask called \fBANY_RESPONSE\fR. When this umask
Packit 577717
is used then it overrides any supplier and snoop umasks. In other words, users can
Packit 577717
specify either \fBANY_RESPONSE\fR \fBOR\fR any combinations of supplier + snoops.
Packit 577717
Packit 577717
In case no supplier or snoop is specified, the library defaults to using
Packit 577717
\fBANY_RESPONSE\fR.
Packit 577717
Packit 577717
For instance, the following are valid event selections:
Packit 577717
.TP
Packit 577717
.B OFFCORE_RESPONSE_0:DMND_DATA_RD:ANY_RESPONSE
Packit 577717
.TP
Packit 577717
.B OFFCORE_RESPONSE_0:ANY_REQUEST
Packit 577717
.TP
Packit 577717
.B OFFCORE_RESPONSE_0:ANY_RFO:LLC_HITM:SNOOP_ANY
Packit 577717
Packit 577717
.P
Packit 577717
But the following are illegal:
Packit 577717
Packit 577717
.TP
Packit 577717
.B OFFCORE_RESPONSE_0:ANY_RFO:LLC_HITM:ANY_RESPONSE
Packit 577717
.TP
Packit 577717
.B OFFCORE_RESPONSE_0:ANY_RFO:LLC_HITM:SNOOP_ANY:ANY_RESPONSE
Packit 577717
Packit 577717
.SH AUTHORS
Packit 577717
.nf
Packit 577717
Stephane Eranian <eranian@gmail.com>
Packit 577717
.if
Packit 577717
.PP