PMC.XSCALE(3) | MidnightBSD Library Functions Manual | PMC.XSCALE(3) |
pmc.xscale
—
measurement events for Intel XScale family CPUs
Performance Counters Library (libpmc, -lpmc)
#include
<pmc.h>
Intel XScale CPUs are ARM CPUs based on the ARMv5e core.
Second generation cores have 2 counters, while third generation cores have 4 counters. Third generation cores also have an increased number of PMC events.
Intel XScale PMCs are documented in 3rd Generation Intel XScale Microarchitecture Developer's Manual, May 2007.
Intel XScale programmable PMCs support the following events:
IC_FETCH
IC_MISS
DATA_DEPENDENCY_STALLED
ITLB_MISS
DTLB_MISS
BRANCH_RETIRED
BRANCH_MISPRED
INSTR_RETIRED
DC_FULL_CYCLE
DC_FULL_CONTIG
DC_ACCESS
DC_MISS
DC_WRITEBACK
PC_CHANGE
BRANCH_RETIRED_ALL
INSTR_CYCLE
CP_STALL
PC_CHANGE_ALL
PIPELINE_FLUSH
BACKEND_STALL
MULTIPLIER_USE
MULTIPLIER_STALLED
DATA_CACHE_STALLED
L2_CACHE_REQ
L2_CACHE_MISS
ADDRESS_BUS_TRANS
SELF_ADDRESS_BUS_TRANS
DATA_BUS_TRANS
The following table shows the mapping between the PMC-independent aliases supported by Performance Counters Library (libpmc, -lpmc) and the underlying hardware events used.
Alias | Event |
branches |
BRANCH_RETIRED |
branch-mispredicts |
BRANCH_MISPRED |
dc-misses |
DC_MISS |
ic-misses |
IC_MISS |
instructions |
INSTR_RETIRED |
The pmc
library first appeared in
FreeBSD 6.0. Intel XScale support first appeared in
FreeBSD 9.0.
The Performance Counters Library (libpmc, -lpmc) library was written by Joseph Koshy <jkoshy@FreeBSD.org>.
Intel XScale support was added by Rui Paulo <rpaulo@FreeBSD.org>.
The Intel XScale code does not yet support sampling.
December 23, 2009 | midnightbsd-3.1 |