man.bsd.lv manual page server

Manual Page Search Parameters

PMC.XSCALE(3) Library Functions Manual PMC.XSCALE(3)

pmc.xscalemeasurement events for Intel XScale family CPUs

library “libpmc”

#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:

External memory fetch due to L1 instruction cache miss.
Instruction cache or TLB miss.
A data dependency stalled
Instruction TLB miss.
Data TLB miss.
Branch instruction retired (executed).
Branch mispredicted.
Instructions retired (executed).
L1 data cache buffer full stall. Event occurs on every cycle the condition is present.
L1 data cache buffer full stall. Event occurs once for each contiguous sequence of this type of stall.
L1 data cache access, not including cache operations.
L1 data cache miss, not including cache operations.
L1 data cache write-back. Occurs for each cache line that's written back from the cache.
Software changed the program counter.
Branch instruction retired (executed). This event counts all branch instructions, indirect or direct.
Count the number of microarchitecture cycles each instruction requires to issue.
Coprocessor stalled the instruction pipeline.
Software changed the program counter (includes exceptions).
Pipeline flushes due to mispredictions or exceptions.
Backend stalled the instruction pipeline.
Multiplier used.
Multiplier stalled the instruction pipeline.
Data cache stalled the instruction pipeline.
L2 cache request, not including cache operations.
L2 cache miss, not including cache operations.
Address bus transaction.
Self initiated address bus transaction.
Data bus transaction.

The following table shows the mapping between the PMC-independent aliases supported by library “libpmc” and the underlying hardware events used.

pmc(3), pmc.soft(3), pmc_cpuinfo(3), pmclog(3), hwpmc(4)

The pmc library first appeared in FreeBSD 6.0. Intel XScale support first appeared in FreeBSD 9.0.

The library “libpmc” 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 FreeBSD-12.0