PMC.HASWELLUC(3) | MidnightBSD Library Functions Manual | PMC.HASWELLUC(3) |
pmc.haswelluc
—
uncore measurement events for Intel Haswell family
CPUs
Performance Counters Library (libpmc, -lpmc)
#include
<pmc.h>
Intel Haswell CPUs contain PMCs conforming to version 3 of the Intel performance measurement architecture. These CPUs contain two classes of PMCs:
PMC_CLASS_UCF
PMC_CLASS_UCP
The number of PMCs available in each class and their widths need to be determined at run time by calling pmc_cpuinfo(3).
Intel Haswell PMCs are documented in Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B and 3C, Intel(R) 64 and IA-32 Architectures Software Developers Manual, Order Number: 325462-045US, Intel Corporation, January 2013.
These PMCs and their supported events are documented in pmc.ucf(3). Not all CPUs in this family implement fixed-function counters.
The programmable PMCs support the following capabilities:
Capability | Support |
PMC_CAP_CASCADE | No |
PMC_CAP_EDGE | Yes |
PMC_CAP_INTERRUPT | No |
PMC_CAP_INVERT | Yes |
PMC_CAP_READ | Yes |
PMC_CAP_PRECISE | No |
PMC_CAP_SYSTEM | No |
PMC_CAP_TAGGING | No |
PMC_CAP_THRESHOLD | Yes |
PMC_CAP_USER | No |
PMC_CAP_WRITE | Yes |
Event specifiers for these PMCs support the following common qualifiers:
cmask=
valueedge
inv
cmask
” qualifier is present, making
the counter increment when the number of events per cycle is less than the
value specified by the “cmask
”
qualifier.Haswell programmable PMCs support the following events:
UNC_CBO_XSNP_RESPONSE.MISS
UNC_CBO_XSNP_RESPONSE.INVAL
UNC_CBO_XSNP_RESPONSE.HIT
UNC_CBO_XSNP_RESPONSE.HITM
UNC_CBO_XSNP_RESPONSE.INVAL_M
UNC_CBO_XSNP_RESPONSE.EXTERNAL_FILTER
UNC_CBO_XSNP_RESPONSE.XCORE_FILTER
UNC_CBO_XSNP_RESPONSE.EVICTION_FILTER
UNC_CBO_CACHE_LOOKUP.M
UNC_CBO_CACHE_LOOKUP.ES
UNC_CBO_CACHE_LOOKUP.I
UNC_CBO_CACHE_LOOKUP.READ_FILTER
UNC_CBO_CACHE_LOOKUP.WRITE_FILTER
UNC_CBO_CACHE_LOOKUP.EXTSNP_FILTER
UNC_CBO_CACHE_LOOKUP.ANY_REQUEST_FILTER
UNC_ARB_TRK_OCCUPANCY.ALL
UNC_ARB_TRK_REQUEST.ALL
UNC_ARB_TRK_REQUEST.WRITES
UNC_ARB_TRK_REQUEST.EVICTIONS
UNC_ARB_COH
,
Umask TRK_OCCUPANCY.ALL
UNC_ARB_COH
,
Umask TRK_REQUEST.ALL
pmc(3), pmc.atom(3), pmc.core(3), pmc.corei7(3), pmc.corei7uc(3), pmc.haswell(3), pmc.iaf(3), pmc.k7(3), pmc.k8(3), pmc.p4(3), pmc.p5(3), pmc.p6(3), pmc.sandybridge(3), pmc.sandybridgeuc(3), pmc.sandybridgexeon(3), pmc.soft(3), pmc.tsc(3), pmc.ucf(3), pmc.westmere(3), pmc.westmereuc(3), pmc_cpuinfo(3), pmclog(3), hwpmc(4)
The pmc
library first appeared in
FreeBSD 6.0.
The Performance Counters Library (libpmc, -lpmc) library was written by Joseph Koshy <jkoshy@FreeBSD.org>. The support for the Haswell microarchitecture was added by Hiren Panchasara <hiren.panchasara@gmail.com>.
March 22, 2013 | midnightbsd-3.1 |