# libpfm_intel_snbep_unc_ubo

## NAME



           libpfm_intel_snbep_unc_ubo - support for Intel Sandy Bridge-EP U-
           Box uncore PMU
    


## SYNOPSIS



           **#include <perfmon/pfmlib.h>**
    
           **PMU name: snbep_unc_ubo**
           **PMU desc: Intel Sandy Bridge-EP U-Box uncore PMU**
    


## DESCRIPTION



           The library supports the Intel Sandy Bridge system configuration
           unit (U-Box) uncore PMU.  This PMU model only exists on Sandy
           Bridge model 45. There is only one U-Box PMU per processor socket.
    


## MODIFIERS



           The following modifiers are supported on Intel Sandy Bridge U-Box
           uncore PMU:
    
           **i** Invert the meaning of the event. The counter will now count
                  HA cycles in which the event is **not** occurring. This is a
                  boolean modifier
    
           **e** Enable edge detection, i.e., count only when there is a
                  state transition from no occurrence of the event to at
                  least one occurrence. This modifier must be combined with a
                  threshold modifier (t) with a value greater or equal to
                  one.  This is a boolean modifier.
    
           **t** Set the threshold value. When set to a non-zero value, the
                  counter counts the number of HA cycles in which the number
                  of occurrences of the event is greater or equal to the
                  threshold.  This is an integer modifier with values in the
                  range [0:15].
    
           **oi** Invert the meaning of the occupancy event
                  POWER_STATE_OCCUPANCY. The counter will now count PCU
                  cycles in which the event is **not** occurring. This is a
                  boolean modifier
    
           **oe** Enable edge detection for the occupancy event
                  POWER_STATE_OCCUPANCY. The event now counts only when there
                  is a state transition from no occurrence of the event to at
                  least one occurrence. This modifier must be combined with a
                  threshold modifier (t) with a value greater or equal to
                  one.  This is a boolean modifier.
    
           **ff** Enable frequency band filtering. This modifier applies only
                  to the UNC_P_FREQ_BANDx_CYCLES events, where x is [0-3].
                  The modifiers expects an integer in the range [0-255]. The
                  value is interpreted as a frequency value to be multiplied
                  by 100Mhz. Thus if the value is 32, then all cycles where
                  the processor is running at 3.2GHz and more are counted.
    


## Frequency band filtering



           There are 3 events which support frequency band filtering, namely,
           UNC_P_FREQ_BAND0_CYCLES, UNC_P_FREQ_BAND1_CYCLES,
           UNC_P_FREQ_BAND2_CYCLES, UNC_P_FREQ_BAND3_CYCLES. The frequency
           filter (available via the ff modifier) is stored into a PMU shared
           register which hold all 4 possible frequency bands, one per event.
           However, the library generate the encoding for each event
           individually because it processes events one at a time. The caller
           or the underlying kernel interface may have to merge the band
           filter settings to program the filter register properly.
    


* * *