This can be used to describe which performance event to monitor (cycles, cache miss, etc).
Enumerator |
---|
PI_PERF_CYCLES |
Total number of cycles (also includes the cycles where the core is sleeping). Be careful that this event is using a timer shared within the cluster, so resetting, starting or stopping it on one core will impact other cores of the same cluster.
|
PI_PERF_ACTIVE_CYCLES |
Counts the number of cycles the core was
active (not sleeping).
|
PI_PERF_INSTR |
Counts the number of instructions executed.
|
PI_PERF_LD_STALL |
Number of load data hazards.
|
PI_PERF_JR_STALL |
Number of jump register data hazards.
|
PI_PERF_IMISS |
Cycles waiting for instruction fetches, i.e.
number of instructions wasted due to non-ideal caching.
|
PI_PERF_LD |
Number of data memory loads executed.
Misaligned accesses are counted twice.
|
PI_PERF_ST |
Number of data memory stores executed.
Misaligned accesses are counted twice.
|
PI_PERF_JUMP |
Number of unconditional jumps (j, jal, jr,
jalr).
|
PI_PERF_BRANCH |
Number of branches. Counts both taken and
not taken branches.
|
PI_PERF_BTAKEN |
Number of taken branches.
|
PI_PERF_RVC |
Number of compressed instructions executed.
|
PI_PERF_LD_EXT |
Number of memory loads to EXT executed. Misaligned accesses are counted twice. Every non-TCDM access is considered external (cluster only).
|
PI_PERF_ST_EXT |
Number of memory stores to EXT executed. Misaligned accesses are counted twice. Every non-TCDM access is considered external (cluster only).
|
PI_PERF_LD_EXT_CYC |
Cycles used for memory loads to EXT.
Every non-TCDM access is considered external (cluster only).
|
PI_PERF_ST_EXT_CYC |
Cycles used for memory stores to EXT.
Every non-TCDM access is considered external (cluster only).
|
PI_PERF_TCDM_CONT |
Cycles wasted due to TCDM/log-interconnect
contention (cluster only).
|