1LIBPFM(3) Linux Programmer's Manual LIBPFM(3)
2
3
4
6 libpfm_intel_hswep_unc_pcu - support for Intel Haswell-EP Power Con‐
7 troller Unit (PCU) uncore PMU
8
10 #include <perfmon/pfmlib.h>
11
12 PMU name: hswep_unc_pcu
13 PMU desc: Intel Haswell-EP PCU uncore PMU
14
15
17 The library supports the Intel Haswell Power Controller Unit uncore
18 PMU. This PMU model only exists on Haswell model 63.
19
20
22 The following modifiers are supported on Intel Haswell PCU uncore PMU:
23
24 e Enable edge detection, i.e., count only when there is a state
25 transition from no occurrence of the event to at least one
26 occurrence. This modifier must be combined with a threshold mod‐
27 ifier (t) with a value greater or equal to one. This is a bool‐
28 ean modifier.
29
30 t Set the threshold value. When set to a non-zero value, the
31 counter counts the number of HA cycles in which the number of
32 occurrences of the event is greater or equal to the threshold.
33 This is an integer modifier with values in the range [0:15].
34
35 i Invert the meaning of the threshold or edge filter. If set, the
36 event counts when strictly less than N occurrences occur per
37 cycle if threshold is set to N. When invert is set, then thresh‐
38 old must be set to non-zero value. If set, the event counts when
39 the event transitions from occurring to not occurring (falling
40 edge) when edge detection is set. This is a boolean modifier
41
42 ff Enable frequency band filtering. This modifier applies only to
43 the UNC_P_FREQ_BANDx_CYCLES events, where x is [0-3]. The modi‐
44 fiers expects an integer in the range [0-255]. The value is
45 interpreted as a frequency value to be multiplied by 100Mhz.
46 Thus if the value is 32, then all cycles where the processor is
47 running at 3.2GHz and more are counted.
48
49
51 There are 3 events which support frequency band filtering, namely,
52 UNC_P_FREQ_BAND0_CYCLES, UNC_P_FREQ_BAND1_CYCLES,
53 UNC_P_FREQ_BAND2_CYCLES, UNC_P_FREQ_BAND3_CYCLES. The frequency filter
54 (available via the ff modifier) is stored into a PMU shared register
55 which hold all 4 possible frequency bands, one per event. However, the
56 library generate the encoding for each event individually because it
57 processes events one at a time. The caller or the underlying kernel
58 interface may have to merge the band filter settings to program the
59 filter register properly.
60
61
63 Stephane Eranian <eranian@gmail.com>
64
65
66
67 May, 2015 LIBPFM(3)