summaryrefslogtreecommitdiffstats
path: root/lib/libpmc/pmc.sandybridgeuc.3
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libpmc/pmc.sandybridgeuc.3')
-rw-r--r--lib/libpmc/pmc.sandybridgeuc.3233
1 files changed, 233 insertions, 0 deletions
diff --git a/lib/libpmc/pmc.sandybridgeuc.3 b/lib/libpmc/pmc.sandybridgeuc.3
new file mode 100644
index 0000000..0215c36
--- /dev/null
+++ b/lib/libpmc/pmc.sandybridgeuc.3
@@ -0,0 +1,233 @@
+.\" Copyright (c) 2012 Davide Italiano <davide@FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd October 19, 2012
+.Dt PMC.SANDYBRIDGEUC 3
+.Os
+.Sh NAME
+.Nm pmc.sandybridgeuc
+.Nd uncore measurement events for
+.Tn Intel
+.Tn Sandy Bridge
+family CPUs
+.Sh LIBRARY
+.Lb libpmc
+.Sh SYNOPSIS
+.In pmc.h
+.Sh DESCRIPTION
+.Tn Intel
+.Tn "Sandy Bridge"
+CPUs contain PMCs conforming to version 3 of the
+.Tn Intel
+performance measurement architecture.
+These CPUs contain two classes of PMCs:
+.Bl -tag -width "Li PMC_CLASS_UCP"
+.It Li PMC_CLASS_UCF
+Fixed-function counters that count only one hardware event per counter.
+.It Li PMC_CLASS_UCP
+Programmable counters that may be configured to count one of a defined
+set of hardware events.
+.El
+.Pp
+The number of PMCs available in each class and their widths need to be
+determined at run time by calling
+.Xr pmc_cpuinfo 3 .
+.Pp
+Intel Sandy Bridge PMCs are documented in
+.Rs
+.%B "Intel(R) 64 and IA-32 Architectures Software Developers Manual"
+.%T "Volume 3B: System Programming Guide, Part 2"
+.%N "Order Number: 253669-039US"
+.%D May 2011
+.%Q "Intel Corporation"
+.Re
+.Ss SANDYBRIDGE UNCORE FIXED FUNCTION PMCS
+These PMCs and their supported events are documented in
+.Xr pmc.ucf 3 .
+Not all CPUs in this family implement fixed-function counters.
+.Ss SANDYBRIDGE UNCORE PROGRAMMABLE PMCS
+The programmable PMCs support the following capabilities:
+.Bl -column "PMC_CAP_INTERRUPT" "Support"
+.It Em Capability Ta Em Support
+.It PMC_CAP_CASCADE Ta \&No
+.It PMC_CAP_EDGE Ta Yes
+.It PMC_CAP_INTERRUPT Ta \&No
+.It PMC_CAP_INVERT Ta Yes
+.It PMC_CAP_READ Ta Yes
+.It PMC_CAP_PRECISE Ta \&No
+.It PMC_CAP_SYSTEM Ta \&No
+.It PMC_CAP_TAGGING Ta \&No
+.It PMC_CAP_THRESHOLD Ta Yes
+.It PMC_CAP_USER Ta \&No
+.It PMC_CAP_WRITE Ta Yes
+.El
+.Ss Event Qualifiers
+Event specifiers for these PMCs support the following common
+qualifiers:
+.Bl -tag -width indent
+.It Li cmask= Ns Ar value
+Configure the PMC to increment only if the number of configured
+events measured in a cycle is greater than or equal to
+.Ar value .
+.It Li edge
+Configure the PMC to count the number of de-asserted to asserted
+transitions of the conditions expressed by the other qualifiers.
+If specified, the counter will increment only once whenever a
+condition becomes true, irrespective of the number of clocks during
+which the condition remains true.
+.It Li inv
+Invert the sense of comparison when the
+.Dq Li cmask
+qualifier is present, making the counter increment when the number of
+events per cycle is less than the value specified by the
+.Dq Li cmask
+qualifier.
+.El
+.Ss Event Specifiers (Programmable PMCs)
+Sandy Bridge programmable PMCs support the following events:
+.Bl -tag -width indent
+.It Li CBO_XSNP_RESPONSE.RSPIHITI
+.Pq Event 22H, Umask 01H
+Snoop responses received from processor cores to requests initiated by this
+Cbox.
+Must combine with one of the umask values of 20H, 40H, 80H
+.It Li CBO_XSNP_RESPONSE.RSPIHITFSE
+.Pq Event 22H, Umask 02H
+Must combine with one of the umask values of 20H, 40H, 80H
+.It Li CBO_XSNP_RESPONSE.RSPSHITFSE
+.Pq Event 22H, Umask 04H
+Must combine with one of the umask values of 20H, 40H, 80H
+.It Li CBO_XSNP_RESPONSE.RSPSFWDM
+.Pq Event 22H, Umask 08H
+.It Li CBO_XSNP_RESPONSE.RSPIFWDM
+.Pq Event 22H, Umask 01H
+.It Li CBO_XSNP_RESPONSE.AND_EXTERNAL
+.Pq Event 22H, Umask 20H
+Filter on cross-core snoops resulted in external snoop request.
+Must combine with at least one of 01H, 02H, 04H, 08H, 10H
+.It Li CBO_XSNP_RESPONSE.AND_XCORE
+.Pq Event 22H, Umask 40H
+Filter on cross-core snoops resulted in core request.
+Must combine with at least one of 01H, 02H, 04H, 08H, 10H
+.It Li CBO_XSNP_RESPONSE.AND_XCORE
+.Pq Event 22H, Umask 80H
+Filter on cross-core snoops resulted in LLC evictions.
+Must combine with at least one of 01H, 02H, 04H, 08H, 10H
+.It Li CBO_CACHE_LOOKUP.M
+.Pq Event 34H, Umask 01H
+LLC lookup request that access cache and found line in M-state.
+Must combine with one of the umask values of 10H, 20H, 40H, 80H
+.It Li CBO_CACHE_LOOKUP.E
+.Pq Event 34H, Umask 02H
+LLC lookup request that access cache and found line in E-state.
+Must combine with one of the umask values of 10H, 20H, 40H, 80H
+.It Li CBO_CACHE_LOOKUP.S
+.Pq Event 34H, Umask 04H
+LLC lookup request that access cache and found line in S-state.
+Must combine with one of the umask values of 10H, 20H, 40H, 80H
+.It Li CBO_CACHE_LOOKUP.I
+.Pq Event 34H, Umask 08H
+LLC lookup request that access cache and found line in I-state.
+Must combine with one of the umask values of 10H, 20H, 40H, 80H
+.It Li CBO_CACHE_LOOKUP.AND_READ
+.Pq Event 34H, Umask 10H
+Filter on processor core initiated cacheable read requests.
+Must combine with at least one of 01H, 02H, 04H, 08H
+.It Li CBO_CACHE_LOOKUP_AND_READ2
+.Pq Event 34H, Umask 20H
+Filter on processor core initiated cacheable write requests.
+Must combine with at least one of 01H, 02H, 04H, 08H
+.It Li CBO_CACHE_LOOKUP.AND_EXTSNP
+.Pq Event 34H, Umask 40H
+Filter on external snoop requests.
+Must combine with at least one of 01H, 02H, 04H, 08H
+.It Li CBO_CACHE_LOOKUP.AND_ANY
+.Pq Event 34H, Umask 80H
+Filter on any IRQ or IPQ initiated requests including uncacheable,
+noncoherent requests.
+Must combine with at least one of 01H, 02H, 04H, 08H
+.It Li IMPH_CBO_TRK_OCCUPANCY.ALL
+.Pq Event 80H, Umask 01H
+Counts cycles weighted by the number of core-outgoing valid entries.
+Valid entries are between allocation to the first of IDIO or DRSO messages.
+Accounts for coherent and incoherent traffic.
+Counter 0 only
+.It Li IMPH_CBO_TRK_REQUEST.ALL
+.Pq Event 81H, Umask 01H
+Counts the number of core-outgoing entries.
+Accounts for coherent and incoherent traffic.
+.It Li IMPH_CBO_TRK_REQUEST.WRITES
+.Pq Event 81H, Umask 20H
+Counts the number of allocated write entries, include full, partial, and
+evictions.
+.It Li IMPH_CBO_TRK_REQUEST.EVICTIONS
+.Pq Event 81H, Umask 80H
+Counts the number of evictions allocated.
+.It Li IMPH_COH_TRK_OCCUPANCY.ALL
+.Pq Event 83H, Umask 01H
+Counts cycles weighted by the
+number of core-outgoing valid entries in the coherent tracker queue.
+Counter 0 only
+.It Li IMPH_COH_TRK_REQUEST.ALL
+.Pq Event 84H, Umask 01H
+Counts the number of core-outgoing entries in the coherent tracker queue.
+.El
+.Sh SEE ALSO
+.Xr pmc 3 ,
+.Xr pmc.atom 3 ,
+.Xr pmc.core 3 ,
+.Xr pmc.corei7 3 ,
+.Xr pmc.corei7uc 3 ,
+.Xr pmc.iaf 3 ,
+.Xr pmc.k7 3 ,
+.Xr pmc.k8 3 ,
+.Xr pmc.p4 3 ,
+.Xr pmc.p5 3 ,
+.Xr pmc.p6 3 ,
+.Xr pmc.sandybridge 3 ,
+.Xr pmc.sandybridgexeon 3 ,
+.Xr pmc.soft 3 ,
+.Xr pmc.tsc 3 ,
+.Xr pmc.ucf 3 ,
+.Xr pmc.westmere 3 ,
+.Xr pmc.westmereuc 3 ,
+.Xr pmc_cpuinfo 3 ,
+.Xr pmclog 3 ,
+.Xr hwpmc 4
+.Sh HISTORY
+The
+.Nm pmc
+library first appeared in
+.Fx 6.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Lb libpmc
+library was written by
+.An Joseph Koshy Aq Mt jkoshy@FreeBSD.org .
+The support for the Sandy Bridge
+microarchitecture was added by
+.An Davide Italiano Aq Mt davide@FreeBSD.org .
OpenPOWER on IntegriCloud