]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libpmc/pmc.cmn-600.3
Add the Arm CoreLink CMN-600 Coherent Mesh Network Controller PMU driver man page.
[FreeBSD/FreeBSD.git] / lib / libpmc / pmc.cmn-600.3
1 .\" Copyright (c) 2021 ARM Ltd.  All rights reserved.
2 .\"
3 .\" Redistribution and use in source and binary forms, with or without
4 .\" modification, are permitted provided that the following conditions
5 .\" are met:
6 .\" 1. Redistributions of source code must retain the above copyright
7 .\"    notice, this list of conditions and the following disclaimer.
8 .\" 2. Redistributions in binary form must reproduce the above copyright
9 .\"    notice, this list of conditions and the following disclaimer in the
10 .\"    documentation and/or other materials provided with the distribution.
11 .\"
12 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
13 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
15 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
16 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
18 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
19 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
20 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
21 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
22 .\" SUCH DAMAGE.
23 .\"
24 .\" $FreeBSD$
25 .\"
26 .Dd December 19, 2021
27 .Dt PMC.CMN-600 3
28 .Os
29 .Sh NAME
30 .Nm pmc.cmn-600
31 .Nd Library for accessing the Arm CoreLink CMN-600 Coherent Mesh Network
32 Controller performance counter events
33 .Sh LIBRARY
34 .Lb libpmc
35 .Sh SYNOPSIS
36 .In pmc.h
37 .Sh DESCRIPTION
38 CMN-600 PMU counters may be configured to count any one of a defined set of
39 hardware events.
40 Unlike other performance counters, counters for the CMN-600 require the
41 node ID to set up.
42 .Pp
43 Node ID information currently can be obtained one of two ways.
44 Using bootverbose, for example set sysctl debug.bootverbose=1 and then load the
45 .Xr hwpmc 4
46 KLD module.
47 The cmn600 module will be loaded automatically as a dependency:
48 .Dl $ sysctl debug.bootverbose=1
49 .Dl $ kldload hwpmc
50 Another way is to use sysctl to trigger
51 dump of nodes tree to system console:
52 .Dl $ sysctl dev.cmn600.0.dump_nodes=1
53 .Pp
54 Some BIOS versions of dual-socket machines have no NUMA domain information in
55 ACPI.
56 In such cases, to get more accurate events statistics, set the kernel
57 environment variable hint.cmn600.{unit}.domain={value}.
58 Where {unit} is a cmn600 device unit number and {value} is the NUMA domain of
59 the CPU package containing that CMN-600 controller.
60 Example:
61 .Dl $ kenv hint.cmn600.0.domain=0
62 .Dl $ kenv hint.cmn600.1.domain=1
63 .Dl $ kldunload hwpmc cmn600
64 .Dl $ kldload hwpmc
65 .Pp
66 Arm CoreLink CMN-600 Coherent Mesh Network Controller performance counters are
67 documented in
68 .Rs
69 .%B "Arm CoreLink CMN-600 Coherent Mesh Network Technical Reference Manual"
70 .%T "Revision: r3p2"
71 .%D 2020
72 .%Q "ARM Limited"
73 .Re
74 .Ss PMC Capabilities
75 CMN-600 PMU counters support the following capabilities:
76 .Bl -column "PMC_CAP_INTERRUPT" "Support"
77 .It Sy Capability Ta Em Support
78 .It PMC_CAP_CASCADE Ta \&No
79 .It PMC_CAP_EDGE Ta \&No
80 .It PMC_CAP_INTERRUPT Ta Yes
81 .It PMC_CAP_INVERT Ta \&No
82 .It PMC_CAP_READ Ta Yes
83 .It PMC_CAP_PRECISE Ta \&No
84 .It PMC_CAP_SYSTEM Ta Yes
85 .It PMC_CAP_TAGGING Ta \&No
86 .It PMC_CAP_THRESHOLD Ta Yes
87 .It PMC_CAP_USER Ta \&No
88 .It PMC_CAP_WRITE Ta Yes
89 .El
90 .Ss Event Qualifiers
91 Event specifiers for these PMCs support the following common
92 qualifiers:
93 .Bl -tag -width indent
94 .It Li nodeid= Ns Ar nodeid
95 Request counting for specific event at node
96 .Ar nodeid .
97 .It Li occupancy= Ns Ar value
98 Filtering by occupancy type.
99 .It Li xpport= Ns Ar port
100 Count only events matched by
101 .Ar port .
102 (East, West, North, South, devport0, devport1 or numeric 0 to 5)
103 .It Li xpchannel= Ns Ar channel
104 Filter events by XP node channel.
105 (REQ, RSP, SNP, DAT or 0, 1, 2, 3)
106 .El
107 .Ss Class Name Prefix
108 These PMCs are named using a class name prefix of
109 .Dq Li CMN600_PMU_ .
110 .Ss Event Specifiers
111 The following list of PMC events are available:
112 .Ss DVM node events
113 .Bl -tag -width indent
114 .It Sy dn_rxreq_dvmop
115 Number of DVMOP requests received.
116 This includes all the sub-types include TLB invalidate, Branch predictor
117 invalidate, instruction cache (physical and virtual) invalidate.
118 .It Sy dn_rxreq_dvmsync
119 Number of DVM Sync requests received.
120 .It Sy dn_rxreq_dvmop_vmid_filtered
121 Number of incoming DVMOP requests that are subject to VMID based filtering.
122 This is a measure of the effectiveness of VMID based filtering and potential
123 reduction in DVM snoops.
124 .It Sy dn_rxreq_retried
125 Number of incoming requests that are retried.
126 This is a measure of the retry rate.
127 .It Sy dn_rxreq_trk_occupancy
128 Counts the tracker occupancy in DN. "occupancy": All, dvmop, dvmsync
129 .It Sy dn_rxreq_tlbi_dvmop
130 Number of DVMOP TLB invalidate requests received.
131 .It Sy dn_rxreq_bpi_dvmop
132 Number of DVMOP Branch predictor invalidate requests received.
133 .It Sy dn_rxreq_pici_dvmop
134 Number of DVMOP physical instruction cache invalidate requests received.
135 .It Sy dn_rxreq_vivi_dvmop
136 Number of DVMOP virtual instruction cache invalidate requests received.
137 .It Sy dn_rxreq_dvmop_other_filtered
138 Number of DVM op requests to RNDs, BPI or PICI/VICI, that were filtered
139 .It Sy dn_rxreq_snp_sent
140 Number of SNPs sent to RNs
141 .It Sy dn_rxreq_snp_stalled
142 Number of SNPs stalled to RNs due to lack of Crds
143 .It Sy dn_rxreq_trk_full
144 DVM tracker full counter
145 .El
146 .Ss HN-F node events
147 .Bl -tag -width indent
148 .It Sy hnf_cache_miss
149 Counts total cache misses in first lookup result (high priority)
150 .It Sy hnf_slc_sf_cache_access
151 Counts number of cache accesses in first access (high priority)
152 .It Sy hnf_cache_fill
153 Counts total allocations in HN SLC (all cache line allocations to SLC)
154 .It Sy hnf_pocq_retry
155 Counts number of retried requests
156 .It Sy hnf_pocq_reqs_recvd
157 Counts number of requests received by HN
158 .It Sy hnf_sf_hit
159 Counts number of SF hits
160 .It Sy hnf_sf_evictions
161 Counts number of SF eviction cache invalidations initiated
162 .It Sy hnf_dir_snoops_sent
163 Counts number of directed snoops sent (not including SF back invalidation)
164 .It Sy hnf_brd_snoops_sent
165 Counts number of multicast snoops sent (not including SF back invalidation)
166 .It Sy hnf_slc_eviction
167 Counts number of SLC evictions (dirty only)
168 .It Sy hnf_slc_fill_invalid_way
169 Counts number of SLC fills to an invalid way
170 .It Sy hnf_mc_retries
171 Counts number of retried transactions by the MC
172 .It Sy hnf_mc_reqs
173 Counts number of requests sent to MC
174 .It Sy hnf_qos_hh_retry
175 Counts number of times a HighHigh priority request is protocol-retried at the
176 HN-F
177 .It Sy hnf_qos_pocq
178 Counts the POCQ occupancy in HN-F.
179 Support argument "occupancy". Accept: All, Read, Write, Atomic, Stash.
180 Default: All.
181 .It Sy hnf_pocq_addrhaz
182 Counts number of POCQ address hazards upon allocation
183 .It Sy hnf_pocq_atomic_addrhaz
184 Counts number of POCQ address hazards upon allocation for atomic operations
185 .It Sy hnf_ld_st_swp_adq_full
186 Counts number of times ADQ is full for Ld/St/SWP type atomic operations while
187 POCQ has pending operations
188 .It Sy hnf_cmp_adq_full
189 Counts number of times ADQ is full for CMP type atomic operations while POCQ
190 has pending operations
191 .It Sy hnf_txdat_stall
192 Counts number of times HN-F has a pending TXDAT flit but no credits to upload
193 .It Sy hnf_txrsp_stall
194 Counts number of times HN-F has a pending TXRSP flit but no credits to upload
195 .It Sy hnf_seq_full
196 Counts number of times requests are replayed in SLC pipe due to SEQ being full
197 .It Sy hnf_seq_hit
198 Counts number of times a request in SLC hit a pending SF eviction in SEQ
199 .It Sy hnf_snp_sent
200 Counts number of snoops sent including directed, multicast, and SF back
201 invalidation
202 .It Sy hnf_sfbi_dir_snp_sent
203 Counts number of times directed snoops were sent due to SF back invalidation
204 .It Sy hnf_sfbi_brd_snp_sent
205 Counts number of times multicast snoops were sent due to SF back invalidation
206 .It Sy hnf_snp_sent_untrk
207 Counts number of times snooped were sent due to untracked RNF's
208 .It Sy hnf_intv_dirty
209 Counts number of times SF back invalidation resulted in dirty line intervention
210 from the RN
211 .It Sy hnf_stash_snp_sent
212 Counts number of times stash snoops were sent
213 .It Sy hnf_stash_data_pull
214 Counts number of times stash snoops resulted in data pull from the RN
215 .It Sy hnf_snp_fwded
216 Counts number of times data forward snoops were sent
217 .El
218 .Ss HN-I node events
219 .Bl -tag -width indent
220 .It Sy hni_rrt_rd_occ_cnt_ovfl
221 RRT read occupancy count overflow
222 .It Sy hni_rrt_wr_occ_cnt_ovfl
223 RRT write occupancy count overflow
224 .It Sy hni_rdt_rd_occ_cnt_ovfl
225 RDT read occupancy count overflow
226 .It Sy hni_rdt_wr_occ_cnt_ovfl
227 RDT write occupancy count overflow
228 .It Sy hni_wdb_occ_cnt_ovfl
229 WDB occupancy count overflow
230 .It Sy hni_rrt_rd_alloc
231 RRT read allocation
232 .It Sy hni_rrt_wr_alloc
233 RRT write allocation
234 .It Sy hni_rdt_rd_alloc
235 RDT read allocation
236 .It Sy hni_rdt_wr_alloc
237 RDT write allocation
238 .It Sy hni_wdb_alloc
239 WDB allocation
240 .It Sy hni_txrsp_retryack
241 RETRYACK TXRSP flit sent
242 .It Sy hni_arvalid_no_arready
243 ARVALID set without ARREADY event
244 .It Sy hni_arready_no_arvalid
245 ARREADY set without ARVALID event
246 .It Sy hni_awvalid_no_awready
247 AWVALID set without AWREADY event
248 .It Sy hni_awready_no_awvalid
249 AWREADY set without AWVALID event
250 .It Sy hni_wvalid_no_wready
251 WVALID set without WREADY event
252 .It Sy hni_txdat_stall
253 TXDAT stall (TXDAT valid but no link credit available)
254 .It Sy hni_nonpcie_serialization
255 Non-PCIe serialization event
256 .It Sy hni_pcie_serialization
257 PCIe serialization event
258 .El
259 .Ss XP node events
260 .Bl -tag -width indent
261 .It Sy xp_txflit_valid
262 Number of flits transmitted on a specified port and CHI channel.
263 This is a measure of the flit transfer bandwidth from an XP.
264 Note: On device ports, this event also includes link flit transfers.
265 .It Sy xp_txflit_stall
266 Number of cycles when a flit is stalled at an XP waiting for link credits at a
267 specified port and CHI channel.
268 This is a measure of the flit traffic congestion on the mesh and at the flit
269 download ports.
270 .It Sy xp_partial_dat_flit
271 Number of times when a partial DAT flit is uploaded onto the mesh from a
272 RN-F_CHIA port.
273 Partial DAT flit transmission occurs when XP is not able to combine two 128b
274 DAT flits and send them over the 256b DAT channel.
275 This can happen under 2 circumstances:
276 1. Only one 128b DAT flit is received within a transmission time window.
277 2. Two 128b DAT flits are received but they are not two halves of a
278    single 256b word.
279 .El
280 .Ss SBSX node events
281 .Bl -tag -width indent
282 .It Sy sbsx_rd_req
283 Read request
284 .It Sy sbsx_wr_req
285 Write request
286 .It Sy sbsx_cmo_req
287 CMO request
288 .It Sy sbsx_txrsp_retryack
289 RETRYACK TXRSP flit sent
290 .It Sy sbsx_txdat_flitv
291 TXDAT flit seen
292 .It Sy sbsx_txrsp_flitv
293 TXRSP flit seen
294 .It Sy sbsx_rd_req_trkr_occ_cnt_ovfl
295 Read request tracker occupancy count overflow
296 .It Sy sbsx_wr_req_trkr_occ_cnt_ovfl
297 Write request tracker occupancy count overflow
298 .It Sy sbsx_cmo_req_trkr_occ_cnt_ovfl
299 CMO request tracker occupancy count overflow
300 .It Sy sbsx_wdb_occ_cnt_ovfl
301 WDB occupancy count overflow
302 .It Sy sbsx_rd_axi_trkr_occ_cnt_ovfl
303 Read AXI pending tracker occupancy count overflow
304 .It Sy sbsx_cmo_axi_trkr_occ_cnt_ovfl
305 CMO AXI pending tracker occupancy count overflow
306 .It Sy sbsx_arvalid_no_arready
307 ARVALID set without ARREADY
308 .It Sy sbsx_awvalid_no_awready
309 AWVALID set without AWREADY
310 .It Sy sbsx_wvalid_no_wready
311 WVALID set without WREADY
312 .It Sy sbsx_txdat_stall
313 TXDAT stall (TXDAT valid but no link credit available)
314 .It Sy sbsx_txrsp_stall
315 TXRSP stall (TXRSP valid but no link credit available)
316 .El
317 .Ss RN-D node events
318 .Bl -tag -width indent
319 .It Sy rnd_s0_rdata_beats
320 Number of RData beats, RVALID and RREADY, dispatched on port 0.
321 This is a measure of the read bandwidth, including CMO responses.
322 .It Sy rnd_s1_rdata_beats
323 Number of RData beats, RVALID and RREADY, dispatched on port 1.
324 This is a measure of the read bandwidth, including CMO responses.
325 .It Sy rnd_s2_rdata_beats
326 Number of RData beats, RVALID and RREADY, dispatched on port 2.
327 This is a measure of the read bandwidth, including CMO responses.
328 .It Sy rnd_rxdat_flits
329 Number of RXDAT flits received.
330 This is a measure of the true read data bandwidth, excluding CMOs.
331 .It Sy rnd_txdat_flits
332 Number of TXDAT flits dispatched.
333 This is a measure of the write bandwidth.
334 .It Sy rnd_txreq_flits_total
335 Number of TXREQ flits dispatched.
336 This is a measure of the total request
337 bandwidth.
338 .It Sy rnd_txreq_flits_retried
339 Number of retried TXREQ flits dispatched.
340 This is a measure of the retry rate.
341 .It Sy rnd_rrt_occ_ovfl
342 All entries in the read request tracker are occupied.
343 This is a measure of oversubscription in the read request tracker.
344 .It Sy rnd_wrt_occ_ovfl
345 All entries in the write request tracker are occupied.
346 This is a measure of oversubscription in the write request tracker.
347 .It Sy rnd_txreq_flits_replayed
348 Number of replayed TXREQ flits.
349 This is the measure of replay rate.
350 .It Sy rnd_wrcancel_sent
351 Number of write data cancels sent.
352 This is the measure of write cancel rate.
353 .It Sy rnd_s0_wdata_beats
354 Number of WData beats, WVALID and WREADY, dispatched on port 0.
355 This is a measure of write bandwidth on AXI port 0.
356 .It Sy rnd_s1_wdata_beats
357 Number of WData beats, WVALID and WREADY, dispatched on port 1.
358 This is a measure of write bandwidth on AXI port 1.
359 .It Sy rnd_s2_wdata_beats
360 Number of WData beats, WVALID and WREADY, dispatched on port 2.
361 This is a measure of write bandwidth on AXI port 2.
362 .It Sy rnd_rrt_alloc
363 Number of allocations in the read request tracker.
364 This is a measure of read transaction count.
365 .It Sy rnd_wrt_alloc
366 Number of allocations in the write request tracker.
367 This is a measure of write transaction count.
368 .It Sy rnd_rdb_unord
369 Number of cycles for which Read Data Buffer state machine is in Unordered Mode.
370 .It Sy rnd_rdb_replay
371 Number of cycles for which Read Data Buffer state machine is in Replay mode
372 .It Sy rnd_rdb_hybrid
373 Number of cycles for which Read Data Buffer state machine is in hybrid mode.
374 Hybrid mode is where there is mix of ordered/unordered traffic.
375 .It Sy rnd_rdb_ord
376 Number of cycles for which Read Data Buffer state machine is in ordered Mode.
377 .El
378 .Ss RN-I node events
379 .Bl -tag -width indent
380 .It Sy rni_s0_rdata_beats
381 Number of RData beats, RVALID and RREADY, dispatched on port 0.
382 This is a measure of the read bandwidth, including CMO responses.
383 .It Sy rni_s1_rdata_beats
384 Number of RData beats, RVALID and RREADY, dispatched on port 1.
385 This is a measure of the read bandwidth, including CMO responses.
386 .It Sy rni_s2_rdata_beats
387 Number of RData beats, RVALID and RREADY, dispatched on port 2.
388 This is a measure of the read bandwidth, including CMO responses.
389 .It Sy rni_rxdat_flits
390 Number of RXDAT flits received.
391 This is a measure of the true read data bandwidth, excluding CMOs.
392 .It Sy rni_txdat_flits
393 Number of TXDAT flits dispatched.
394 This is a measure of the write bandwidth.
395 .It Sy rni_txreq_flits_total
396 Number of TXREQ flits dispatched.
397 This is a measure of the total request bandwidth.
398 .It Sy rni_txreq_flits_retried
399 Number of retried TXREQ flits dispatched.
400 This is a measure of the retry rate.
401 .It Sy rni_rrt_occ_ovfl
402 All entries in the read request tracker are occupied.
403 This is a measure of oversubscription in the read request tracker.
404 .It Sy rni_wrt_occ_ovfl
405 All entries in the write request tracker are occupied.
406 This is a measure of oversubscription in the write request tracker.
407 .It Sy rni_txreq_flits_replayed
408 Number of replayed TXREQ flits.
409 This is the measure of replay rate.
410 .It Sy rni_wrcancel_sent
411 Number of write data cancels sent.
412 This is the measure of write cancel rate
413 .It Sy rni_s0_wdata_beats
414 Number of WData beats, WVALID and WREADY, dispatched on port 0.
415 This is a measure of write bandwidth on AXI port 0.
416 .It Sy rni_s1_wdata_beats
417 Number of WData beats, WVALID and WREADY, dispatched on port 1.
418 This is a measure of write bandwidth on AXI port 1.
419 .It Sy rni_s2_wdata_beats
420 Number of WData beats, WVALID and WREADY, dispatched on port 2.
421 This is a measure of write bandwidth on AXI port 2.
422 .It Sy rni_rrt_alloc
423 Number of allocations in the read request tracker.
424 This is a measure of read transaction count.
425 .It Sy rni_wrt_alloc
426 Number of allocations in the write request tracker.
427 This is a measure of write transaction count
428 .It Sy rni_rdb_unord
429 Number of cycles for which Read Data Buffer state machine is in Unordered Mode.
430 .It Sy rni_rdb_replay
431 Number of cycles for which Read Data Buffer state machine is in Replay mode
432 .It Sy rni_rdb_hybrid
433 Number of cycles for which Read Data Buffer state machine is in hybrid mode.
434 Hybrid mode is where there is mix of ordered/unordered traffic.
435 .It Sy rni_rdb_ord
436 Number of cycles for which Read Data Buffer state machine is in ordered Mode.
437 .El
438 .Ss CXHA node events
439 .Pq Note: CXHA events descriptions are guessed
440 .Bl -tag -width indent
441 .It Sy cxha_rddatbyp
442 Number of Read DAT Bypass
443 .It Sy cxha_chirsp_up_stall
444 Number of CHI RSP up Stall
445 .It Sy cxha_chidat_up_stall
446 Number of CHI DAT up Stall
447 .It Sy cxha_snppcrd_lnk0_stall
448 Number of Snoop Pcrd Stall on Link 0
449 .It Sy cxha_snppcrd_lnk1_stall
450 Number of Snoop Pcrd Stall on Link 1
451 .It Sy cxha_snppcrd_lnk2_stall
452 Number of Snoop Pcrd Stall on Link 2
453 .It Sy cxha_reqtrk_occ
454 Request Tracker Occupancy
455 .It Sy cxha_rdb_occ
456 Read Data Buffer Occupancy
457 .It Sy cxha_rdbbyp_occ
458 Read Data Buffer Bypass Occupancy
459 .It Sy cxha_wdb_occ
460 Write Data Buffer Occupancy
461 .It Sy cxha_snptrk_occ
462 Snoop Tracker Occupancy
463 .It Sy cxha_sdb_occ
464 SDB Occupancy
465 .It Sy cxha_snphaz_occ
466 Snoop Hazard Occupancy
467 .El
468 .Ss CXRA node events
469 .Bl -tag -width indent
470 .It Sy cxra_req_trk_occ
471 Request tracker occupancy
472 .It Sy cxra_snp_trk_occ
473 Snoop tracker occupancy
474 .It Sy cxra_rd_dat_buf_occ
475 Read data buffer occupancy
476 .It Sy cxra_wr_dat_buf_occ
477 Write data buffer occupancy
478 .It Sy cxra_snp_sink_buf_occ
479 Snoop sink buffer occupancy
480 .It Sy cxra_snp_bcasts
481 Snoop broadcasts
482 .It Sy cxra_req_chains
483 Number of request chains formed larger than one
484 .It Sy cxra_req_chain_avg_len
485 Average size of request chains, only for chain sizes larger than one
486 .It Sy cxra_chi_rsp_upload_stalls
487 Local RA upload stalls to CHI because of contention with HA
488 .It Sy cxra_chi_dat_upload_stalls
489 Local RA upload stalls to CHI because of contention with HA
490 .It Sy cxra_dat_pcrd_stalls_lnk0
491 Memory Data Request available, but no DAT Pcrd to send over CCIX per LinkEnd 0
492 .It Sy cxra_dat_pcrd_stalls_lnk1
493 Memory Data Request available, but no DAT Pcrd to send over CCIX per LinkEnd 1
494 .It Sy cxra_dat_pcrd_stalls_lnk2
495 Memory Data Request available, but no DAT Pcrd to send over CCIX per LinkEnd 2
496 .It Sy cxra_req_pcrd_stalls_lnk0
497 Memory Data Request available but no Req Pcrd to send over CCIX per LinkEnd 0
498 .It Sy cxra_req_pcrd_stalls_lnk1
499 Memory Data Request available but no Req Pcrd to send over CCIX per LinkEnd 1
500 .It Sy cxra_req_pcrd_stalls_lnk2
501 Memory Data Request available but no Req Pcrd to send over CCIX per LinkEnd 2
502 .It Sy cxra_ext_rsp_stall
503 CHI external RSP stall
504 .It Sy cxra_ext_dat_stall
505 CHI external DAT stall
506 .El
507 .Ss CXLA node events
508 .Bl -tag -width indent
509 .It Sy cxla_rx_tlp_link0
510 RX TLP for Link 0
511 .It Sy cxla_rx_tlp_link1
512 RX TLP for Link 1
513 .It Sy cxla_rx_tlp_link2
514 RX TLP for Link 2
515 .It Sy cxla_tx_tlp_link0
516 TX TLP for Link 0
517 .It Sy cxla_tx_tlp_link1
518 TX TLP for Link 1
519 .It Sy cxla_tx_tlp_link2
520 TX TLP for Link 2
521 .It Sy cxla_rx_cxs_link0
522 RX CXS for Link 0
523 .It Sy cxla_rx_cxs_link1
524 RX CXS for Link 1
525 .It Sy cxla_rx_cxs_link2
526 RX CXS for Link 2
527 .It Sy cxla_tx_cxs_link0
528 TX CXS for Link 0
529 .It Sy cxla_tx_cxs_link1
530 TX CXS for Link 1
531 .It Sy cxla_tx_cxs_link2
532 TX CXS for Link 2
533 .It Sy cxla_avg_rx_tlp_sz_dws
534 Average RX TLP size in DWs
535 .It Sy cxla_avg_tx_tlp_sz_dws
536 Average TX TLP size in DWs
537 .It Sy cxla_avg_rx_tlp_sz_ccix_msg
538 Average RX TLP size in CCIX messages
539 .It Sy cxla_avg_tx_tlp_sz_ccix_msg
540 Average TX TLP size in CCIX messages
541 .It Sy cxla_avg_sz_rx_cxs_dw_beat
542 Average size of RX CXS in DWs within a beat
543 .It Sy cxla_avg_sz_tx_cxs_dw_beat
544 Average size of TX CXS in DWs within a beat
545 .It Sy cxla_tx_cxs_link_credit_backpressure
546 TX CXS link credit backpressure
547 .It Sy cxla_rx_tlp_buffer_full
548 RX TLP buffer full and backpressured
549 .It Sy cxla_tx_tlp_buffer_full
550 TX TLP buffer full and backpressured
551 .It Sy cxla_avg_latency_process_rx_tlp
552 Average latency to process an RX TLP
553 .It Sy cxla_avg_latency_form_tx_tlp
554 Average latency to form a TX TLP
555 .El
556 .Sh SEE ALSO
557 .Xr pmc 3 ,
558 .Xr pmc.atom 3 ,
559 .Xr pmc.core 3 ,
560 .Xr pmc.core2 3 ,
561 .Xr pmc.corei7 3 ,
562 .Xr pmc.corei7uc 3 ,
563 .Xr pmc.iaf 3 ,
564 .Xr pmc.iaf 3 ,
565 .Xr pmc.k7 3 ,
566 .Xr pmc.k8 3 ,
567 .Xr pmc.p4 3 ,
568 .Xr pmc.p5 3 ,
569 .Xr pmc.p6 3 ,
570 .Xr pmc.soft 3 ,
571 .Xr pmc.tsc 3 ,
572 .Xr pmc.westmere 3 ,
573 .Xr pmc.westmereuc 3 ,
574 .Xr pmc_cpuinfo 3 ,
575 .Xr pmclog 3 ,
576 .Xr hwpmc 4
577 .Sh HISTORY
578 The
579 .Nm pmc
580 library first appeared in
581 .Fx 6.0 .
582 .br
583 The
584 .Nm pmc.cmn-600
585 driver was added in
586 .Fx 14.0 .
587 .Sh AUTHORS
588 .An -nosplit
589 The
590 .Lb libpmc
591 library was written by
592 .An Joseph Koshy Aq Mt jkoshy@FreeBSD.org ,
593 .An Oleksandr Rybalko Aq Mt ray@FreeBSD.org .
594 .br
595 The CMN-600 PMU driver was sponsored by ARM Ltd.
596 This manual page was written by
597 .An Oleksandr Rybalko Aq Mt ray@FreeBSD.org .