libpfm_atom(3) - Linux man page
Name
libpfm_core - support for Intel Atom processor familySynopsis
#include <perfmon/pfmlib.h>#include <perfmon/pfmlib_intel_atom.h>
DescriptionThe libpfm library provides full support for the Intel Atom
processor. This processor implements Intel architectural perfmon v3 with
Precise Event-Based Sampling (PEBS) support. It also implements all architected
events to which it adds lots of Atom specific events. The libpfm interface
is defined in pfmlib_intel_atom.h. It consists of a set of functions and
structures which describe and allow access to the Intel Atom processor
specific PMU features. When Intel Atom processor specific features are needed
to support a measurement, their descriptions must be passed as model-specific
input arguments to the pfm_dispatch_events() function. The Intel Atom processors
specific input arguments are described in the pfmlib_intel_atom_input_param_t
structure. No output parameters are currently defined. The input parameters
are defined as follows:
typedef struct {
unsigned int cnt_mask;
unsigned int flags;
} pfmlib_intel_atom_counter_t;
typedef struct {
pfmlib_intel_atom_counter_t pfp_intel_atom_counters[PMU_INTEL_ATOM_NUM_COUNTERS];
unsigned int pfp_intel_atom_pebs_used;
uint64_t reserved[4];
} pfmlib_core_input_param_t;The Intel Atom processor provides several additional per-event features for counters: thresholding, inversion, edge detection, monitoring both threads. They
can be set using the pfp_intel_atom_counters data structure for each event. The flags field can be initialized with any combinations of the
following values:
- PFMLIB_INTEL_ATOM_SEL_INV
- Inverse the results of the cnt_mask comparison when set
- PFMLIB_INTEL_ATOM_SEL_EDGE
- Enable edge detection of events.
- PFMLIB_INTEL_ATOM_SEL_ANYTHR
- Enable measuring the event in any of the two threads. By default only the current thread is measured.
The cnt_mask field is used to set the event threshold. The value of the counter is incremented each time the number of occurrences per cycle of the event is greater or equal to the value of the field. Thus the event is modified to actually measure the number of qualifying cycles. When zero all occurrences are counted (this is the default).