1.\" Copyright (c) 2003-2008 Joseph Koshy. 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 October 4, 2008 27.Dt PMC.K8 3 28.Os 29.Sh NAME 30.Nm pmc.k8 31.Nd measurement events for 32.Tn AMD 33.Tn Athlon 64 34(K8 family) CPUs 35.Sh LIBRARY 36.Lb libpmc 37.Sh SYNOPSIS 38.In pmc.h 39.Sh DESCRIPTION 40AMD K8 PMCs are present in the 41.Tn "AMD Athlon64" 42and 43.Tn "AMD Opteron" 44series of CPUs. 45They are documented in the 46.Rs 47.%B "BIOS and Kernel Developer's Guide for the AMD Athlon(tm) 64 and AMD Opteron Processors" 48.%N "Publication No. 26094" 49.%D "April 2004" 50.%Q "Advanced Micro Devices, Inc." 51.Re 52.Ss PMC Features 53AMD K8 PMCs are 48 bits wide. 54Each CPU contains 4 PMCs with the following capabilities: 55.Bl -column "PMC_CAP_INTERRUPT" "Support" 56.It Em Capability Ta Em Support 57.It PMC_CAP_CASCADE Ta \&No 58.It PMC_CAP_EDGE Ta Yes 59.It PMC_CAP_INTERRUPT Ta Yes 60.It PMC_CAP_INVERT Ta Yes 61.It PMC_CAP_READ Ta Yes 62.It PMC_CAP_PRECISE Ta \&No 63.It PMC_CAP_SYSTEM Ta Yes 64.It PMC_CAP_TAGGING Ta \&No 65.It PMC_CAP_THRESHOLD Ta Yes 66.It PMC_CAP_USER Ta Yes 67.It PMC_CAP_WRITE Ta Yes 68.El 69.Ss Event Qualifiers 70Event specifiers for AMD K8 PMCs can have the following optional 71qualifiers: 72.Bl -tag -width indent 73.It Li count= Ns Ar value 74Configure the counter to increment only if the number of configured 75events measured in a cycle is greater than or equal to 76.Ar value . 77.It Li edge 78Configure the counter to only count negated-to-asserted transitions 79of the conditions expressed by the other fields. 80In other words, the counter will increment only once whenever a given 81condition becomes true, irrespective of the number of clocks during 82which the condition remains true. 83.It Li inv 84Invert the sense of comparison when the 85.Dq Li count 86qualifier is present, making the counter to increment when the 87number of events per cycle is less than the value specified by 88the 89.Dq Li count 90qualifier. 91.It Li mask= Ns Ar qualifier 92Many event specifiers for AMD K8 PMCs need to be additionally 93qualified using a mask qualifier. 94These additional qualifiers are event-specific and are documented 95along with their associated event specifiers below. 96.It Li os 97Configure the PMC to count events happening at privilege level 0. 98.It Li usr 99Configure the PMC to count events occurring at privilege levels 1, 2 100or 3. 101.El 102.Pp 103If neither of the 104.Dq Li os 105or 106.Dq Li usr 107qualifiers were specified, the default is to enable both. 108.Ss AMD K8 Event Specifiers 109The event specifiers supported on AMD K8 PMCs are: 110.Bl -tag -width indent 111.It Li k8-bu-cpu-clk-unhalted 112.Pq Event 76H 113Count the number of clock cycles when the CPU is not in the HLT or 114STPCLK states. 115.It Li k8-bu-fill-request-l2-miss Op Li ,mask= Ns Ar qualifier 116.Pq Event 7EH 117Count fill requests that missed in the L2 cache. 118This event may be further qualified using 119.Ar qualifier , 120which is a 121.Ql + 122separated set of the following keywords: 123.Pp 124.Bl -tag -width indent -compact 125.It Li dc-fill 126Count data cache fill requests. 127.It Li ic-fill 128Count instruction cache fill requests. 129.It Li tlb-reload 130Count TLB reloads. 131.El 132.Pp 133The default is to count all types of requests. 134.It Li k8-bu-fill-into-l2 Op Li ,mask= Ns Ar qualifier 135.Pq Event 7FH 136The number of lines written to and from the L2 cache. 137The event may be further qualified by using 138.Ar qualifier , 139which is a 140.Ql + 141separated set of the following keywords: 142.Pp 143.Bl -tag -width indent -compact 144.It Li dirty-l2-victim 145Count lines written into L2 cache due to victim writebacks from the 146Icache or Dcache, TLB page table walks or hardware data prefetches. 147.It Li victim-from-l2 148Count writebacks of dirty lines from L2 to the system. 149.El 150.It Li k8-bu-internal-l2-request Op Li ,mask= Ns Ar qualifier 151.Pq Event 7DH 152Count internally generated requests to the L2 cache. 153This event may be further qualified using 154.Ar qualifier , 155which is a 156.Ql + 157separated set of the following keywords: 158.Pp 159.Bl -tag -width indent -compact 160.It Li cancelled 161Count cancelled requests. 162.It Li dc-fill 163Count data cache fill requests. 164.It Li ic-fill 165Count instruction cache fill requests. 166.It Li tag-snoop 167Count tag snoop requests. 168.It Li tlb-reload 169Count TLB reloads. 170.El 171.Pp 172The default is to count all types of requests. 173.It Li k8-dc-access 174.Pq Event 40H 175Count data cache accesses including microcode scratch pad accesses. 176.It Li k8-dc-copyback Op Li ,mask= Ns Ar qualifier 177.Pq Event 44H 178Count data cache copyback operations. 179This event may be further qualified using 180.Ar qualifier , 181which is a 182.Ql + 183separated set of the following keywords: 184.Pp 185.Bl -tag -width indent -compact 186.It Li exclusive 187Count operations for lines in the 188.Dq exclusive 189state. 190.It Li invalid 191Count operations for lines in the 192.Dq invalid 193state. 194.It Li modified 195Count operations for lines in the 196.Dq modified 197state. 198.It Li owner 199Count operations for lines in the 200.Dq owner 201state. 202.It Li shared 203Count operations for lines in the 204.Dq shared 205state. 206.El 207.Pp 208The default is to count operations for lines in all the 209above states. 210.It Li k8-dc-dcache-accesses-by-locks Op Li ,mask= Ns Ar qualifier 211.Pq Event 4CH 212Count data cache accesses by lock instructions. 213This event is only available on processors of revision C or later 214vintage. 215This event may be further qualified using 216.Ar qualifier , 217which is a 218.Ql + 219separated set of the following keywords: 220.Pp 221.Bl -tag -width indent -compact 222.It Li accesses 223Count data cache accesses by lock instructions. 224.It Li misses 225Count data cache misses by lock instructions. 226.El 227.Pp 228The default is to count all accesses. 229.It Li k8-dc-dispatched-prefetch-instructions Op Li ,mask= Ns Ar qualifier 230.Pq Event 4BH 231Count the number of dispatched prefetch instructions. 232This event may be further qualified using 233.Ar qualifier , 234which is a 235.Ql + 236separated set of the following keywords: 237.Pp 238.Bl -tag -width indent -compact 239.It Li load 240Count load operations. 241.It Li nta 242Count non-temporal operations. 243.It Li store 244Count store operations. 245.El 246.Pp 247The default is to count all operations. 248.It Li k8-dc-l1-dtlb-miss-and-l2-dtlb-hit 249.Pq Event 45H 250Count L1 DTLB misses that are L2 DTLB hits. 251.It Li k8-dc-l1-dtlb-miss-and-l2-dtlb-miss 252.Pq Event 46H 253Count L1 DTLB misses that are also misses in the L2 DTLB. 254.It Li k8-dc-microarchitectural-early-cancel-of-an-access 255.Pq Event 49H 256Count microarchitectural early cancels of data cache accesses. 257.It Li k8-dc-microarchitectural-late-cancel-of-an-access 258.Pq Event 48H 259Count microarchitectural late cancels of data cache accesses. 260.It Li k8-dc-misaligned-data-reference 261.Pq Event 47H 262Count misaligned data references. 263.It Li k8-dc-miss 264.Pq Event 41H 265Count data cache misses. 266.It Li k8-dc-one-bit-ecc-error Op Li ,mask= Ns Ar qualifier 267.Pq Event 4AH 268Count one bit ECC errors found by the scrubber. 269This event may be further qualified using 270.Ar qualifier , 271which is a 272.Ql + 273separated set of the following keywords: 274.Pp 275.Bl -tag -width indent -compact 276.It Li scrubber 277Count scrubber detected errors. 278.It Li piggyback 279Count piggyback scrubber errors. 280.El 281.Pp 282The default is to count both kinds of errors. 283.It Li k8-dc-refill-from-l2 Op Li ,mask= Ns Ar qualifier 284.Pq Event 42H 285Count data cache refills from L2 cache. 286This event may be further qualified using 287.Ar qualifier , 288which is a 289.Ql + 290separated set of the following keywords: 291.Pp 292.Bl -tag -width indent -compact 293.It Li exclusive 294Count operations for lines in the 295.Dq exclusive 296state. 297.It Li invalid 298Count operations for lines in the 299.Dq invalid 300state. 301.It Li modified 302Count operations for lines in the 303.Dq modified 304state. 305.It Li owner 306Count operations for lines in the 307.Dq owner 308state. 309.It Li shared 310Count operations for lines in the 311.Dq shared 312state. 313.El 314.Pp 315The default is to count operations for lines in all the 316above states. 317.It Li k8-dc-refill-from-system Op Li ,mask= Ns Ar qualifier 318.Pq Event 43H 319Count data cache refills from system memory. 320This event may be further qualified using 321.Ar qualifier , 322which is a 323.Ql + 324separated set of the following keywords: 325.Pp 326.Bl -tag -width indent -compact 327.It Li exclusive 328Count operations for lines in the 329.Dq exclusive 330state. 331.It Li invalid 332Count operations for lines in the 333.Dq invalid 334state. 335.It Li modified 336Count operations for lines in the 337.Dq modified 338state. 339.It Li owner 340Count operations for lines in the 341.Dq owner 342state. 343.It Li shared 344Count operations for lines in the 345.Dq shared 346state. 347.El 348.Pp 349The default is to count operations for lines in all the 350above states. 351.It Li k8-fp-cycles-with-no-fpu-ops-retired 352.Pq Event 01H 353Count cycles when no FPU ops were retired. 354This event is supported in revision B and later CPUs. 355.It Li k8-fp-dispatched-fpu-fast-flag-ops 356.Pq Event 02H 357Count dispatched FPU ops that use the fast flag interface. 358This event is supported in revision B and later CPUs. 359.It Li k8-fp-dispatched-fpu-ops Op Li ,mask= Ns Ar qualifier 360.Pq Event 00H 361Count the number of dispatched FPU ops. 362This event is supported in revision B and later CPUs. 363This event may be further qualified using 364.Ar qualifier , 365which is a 366.Ql + 367separated set of the following keywords: 368.Pp 369.Bl -tag -width indent -compact 370.It Li add-pipe-excluding-junk-ops 371Count add pipe ops excluding junk ops. 372.It Li add-pipe-junk-ops 373Count junk ops in the add pipe. 374.It Li multiply-pipe-excluding-junk-ops 375Count multiply pipe ops excluding junk ops. 376.It Li multiply-pipe-junk-ops 377Count junk ops in the multiply pipe. 378.It Li store-pipe-excluding-junk-ops 379Count store pipe ops excluding junk ops 380.It Li store-pipe-junk-ops 381Count junk ops in the store pipe. 382.El 383.Pp 384The default is to count all types of ops. 385.It Li k8-fr-decoder-empty 386.Pq Event D0H 387Count cycles when there was nothing to dispatch (i.e., the decoder 388was empty). 389.It Li k8-fr-dispatch-stall-for-segment-load 390.Pq Event D4H 391Count dispatch stalls for segment loads. 392.It Li k8-fr-dispatch-stall-for-serialization 393.Pq Event D3H 394Count dispatch stalls for serialization. 395.It Li k8-fr-dispatch-stall-from-branch-abort-to-retire 396.Pq Event D2H 397Count dispatch stalls from branch abort to retiral. 398.It Li k8-fr-dispatch-stall-when-fpu-is-full 399.Pq Event D7H 400Count dispatch stalls when the FPU is full. 401.It Li k8-fr-dispatch-stall-when-ls-is-full 402.Pq Event D8H 403Count dispatch stalls when the load/store unit is full. 404.It Li k8-fr-dispatch-stall-when-reorder-buffer-is-full 405.Pq Event D5H 406Count dispatch stalls when the reorder buffer is full. 407.It Li k8-fr-dispatch-stall-when-reservation-stations-are-full 408.Pq Event D6H 409Count dispatch stalls when reservation stations are full. 410.It Li k8-fr-dispatch-stall-when-waiting-far-xfer-or-resync-branch-pending 411.Pq Event DAH 412Count dispatch stalls when a far control transfer or a resync branch 413is pending. 414.It Li k8-fr-dispatch-stall-when-waiting-for-all-to-be-quiet 415.Pq Event D9H 416Count dispatch stalls when waiting for all to be quiet. 417.\" XXX What does "waiting for all to be quiet" mean? 418.It Li k8-fr-dispatch-stalls 419.Pq Event D1H 420Count all dispatch stalls. 421.It Li k8-fr-fpu-exceptions Op Li ,mask= Ns Ar qualifier 422.Pq Event DBH 423Count FPU exceptions. 424This event is supported in revision B and later CPUs. 425This event may be further qualified using 426.Ar qualifier , 427which is a 428.Ql + 429separated set of the following keywords: 430.Pp 431.Bl -tag -width indent -compact 432.It Li sse-and-x87-microtraps 433Count SSE and x87 microtraps. 434.It Li sse-reclass-microfaults 435Count SSE reclass microfaults 436.It Li sse-retype-microfaults 437Count SSE retype microfaults 438.It Li x87-reclass-microfaults 439Count x87 reclass microfaults. 440.El 441.Pp 442The default is to count all types of exceptions. 443.It Li k8-fr-interrupts-masked-cycles 444.Pq Event CDH 445Count cycles when interrupts were masked (by CPU RFLAGS field IF was zero). 446.It Li k8-fr-interrupts-masked-while-pending-cycles 447.Pq Event CEH 448Count cycles while interrupts were masked while pending (i.e., cycles 449when INTR was asserted while CPU RFLAGS field IF was zero). 450.It Li k8-fr-number-of-breakpoints-for-dr0 451.Pq Event DCH 452Count the number of breakpoints for DR0. 453.It Li k8-fr-number-of-breakpoints-for-dr1 454.Pq Event DDH 455Count the number of breakpoints for DR1. 456.It Li k8-fr-number-of-breakpoints-for-dr2 457.Pq Event DEH 458Count the number of breakpoints for DR2. 459.It Li k8-fr-number-of-breakpoints-for-dr3 460.Pq Event DFH 461Count the number of breakpoints for DR3. 462.It Li k8-fr-retired-branches 463.Pq Event C2H 464Count retired branches including exceptions and interrupts. 465.It Li k8-fr-retired-branches-mispredicted 466.Pq Event C3H 467Count mispredicted retired branches. 468.It Li k8-fr-retired-far-control-transfers 469.Pq Event C6H 470Count retired far control transfers (which are always mispredicted). 471.It Li k8-fr-retired-fastpath-double-op-instructions Op Li ,mask= Ns Ar qualifier 472.Pq Event CCH 473Count retired fastpath double op instructions. 474This event is supported in revision B and later CPUs. 475This event may be further qualified using 476.Ar qualifier , 477which is a 478.Ql + 479separated set of the following keywords: 480.Pp 481.Bl -tag -width indent -compact 482.It Li low-op-pos-0 483Count instructions with the low op in position 0. 484.It Li low-op-pos-1 485Count instructions with the low op in position 1. 486.It Li low-op-pos-2 487Count instructions with the low op in position 2. 488.El 489.Pp 490The default is to count all types of instructions. 491.It Li k8-fr-retired-fpu-instructions Op Li ,mask= Ns Ar qualifier 492.Pq Event CBH 493Count retired FPU instructions. 494This event is supported in revision B and later CPUs. 495This event may be further qualified using 496.Ar qualifier , 497which is a 498.Ql + 499separated set of the following keywords: 500.Pp 501.Bl -tag -width indent -compact 502.It Li mmx-3dnow 503Count MMX and 3DNow!\& instructions. 504.It Li packed-sse-sse2 505Count packed SSE and SSE2 instructions. 506.It Li scalar-sse-sse2 507Count scalar SSE and SSE2 instructions 508.It Li x87 509Count x87 instructions. 510.El 511.Pp 512The default is to count all types of instructions. 513.It Li k8-fr-retired-near-returns 514.Pq Event C8H 515Count retired near returns. 516.It Li k8-fr-retired-near-returns-mispredicted 517.Pq Event C9H 518Count mispredicted near returns. 519.It Li k8-fr-retired-resyncs 520.Pq Event C7H 521Count retired resyncs (non-control transfer branches). 522.It Li k8-fr-retired-taken-branches 523.Pq Event C4H 524Count retired taken branches. 525.It Li k8-fr-retired-taken-branches-mispredicted 526.Pq Event C5H 527Count retired taken branches that were mispredicted. 528.It Li k8-fr-retired-taken-branches-mispredicted-by-addr-miscompare 529.Pq Event CAH 530Count retired taken branches that were mispredicted only due to an 531address miscompare. 532.It Li k8-fr-retired-taken-hardware-interrupts 533.Pq Event CFH 534Count retired taken hardware interrupts. 535.It Li k8-fr-retired-uops 536.Pq Event C1H 537Count retired uops. 538.It Li k8-fr-retired-x86-instructions 539.Pq Event C0H 540Count retired x86 instructions including exceptions and interrupts. 541.It Li k8-ic-fetch 542.Pq Event 80H 543Count instruction cache fetches. 544.It Li k8-ic-instruction-fetch-stall 545.Pq Event 87H 546Count cycles in stalls due to instruction fetch. 547.It Li k8-ic-l1-itlb-miss-and-l2-itlb-hit 548.Pq Event 84H 549Count L1 ITLB misses that are L2 ITLB hits. 550.It Li k8-ic-l1-itlb-miss-and-l2-itlb-miss 551.Pq Event 85H 552Count ITLB misses that miss in both L1 and L2 ITLBs. 553.It Li k8-ic-microarchitectural-resync-by-snoop 554.Pq Event 86H 555Count microarchitectural resyncs caused by snoops. 556.It Li k8-ic-miss 557.Pq Event 81H 558Count instruction cache misses. 559.It Li k8-ic-refill-from-l2 560.Pq Event 82H 561Count instruction cache refills from L2 cache. 562.It Li k8-ic-refill-from-system 563.Pq Event 83H 564Count instruction cache refills from system memory. 565.It Li k8-ic-return-stack-hits 566.Pq Event 88H 567Count hits to the return stack. 568.It Li k8-ic-return-stack-overflow 569.Pq Event 89H 570Count overflows of the return stack. 571.It Li k8-ls-buffer2-full 572.Pq Event 23H 573Count load/store buffer2 full events. 574.It Li k8-ls-locked-operation Op Li ,mask= Ns Ar qualifier 575.Pq Event 24H 576Count locked operations. 577For revision C and later CPUs, the following qualifiers are supported: 578.Pp 579.Bl -tag -width indent -compact 580.It Li cycles-in-request 581Count the number of cycles in the lock request/grant stage. 582.It Li cycles-to-complete 583Count the number of cycles a lock takes to complete once it is 584non-speculative and is the older load/store operation. 585.It Li locked-instructions 586Count the number of lock instructions executed. 587.El 588.Pp 589The default is to count the number of lock instructions executed. 590.It Li k8-ls-microarchitectural-late-cancel 591.Pq Event 25H 592Count microarchitectural late cancels of operations in the load/store 593unit. 594.It Li k8-ls-microarchitectural-resync-by-self-modifying-code 595.Pq Event 21H 596Count microarchitectural resyncs caused by self-modifying code. 597.It Li k8-ls-microarchitectural-resync-by-snoop 598.Pq Event 22H 599Count microarchitectural resyncs caused by snoops. 600.It Li k8-ls-retired-cflush-instructions 601.Pq Event 26H 602Count retired CFLUSH instructions. 603.It Li k8-ls-retired-cpuid-instructions 604.Pq Event 27H 605Count retired CPUID instructions. 606.It Li k8-ls-segment-register-load Op Li ,mask= Ns Ar qualifier 607.Pq Event 20H 608Count segment register loads. 609This event may be further qualified using 610.Ar qualifier , 611which is a 612.Ql + 613separated set of the following keywords: 614.Bl -tag -width indent -compact 615.It Li cs 616Count CS register loads. 617.It Li ds 618Count DS register loads. 619.It Li es 620Count ES register loads. 621.It Li fs 622Count FS register loads. 623.It Li gs 624Count GS register loads. 625.\" .It Li hs 626.\" Count HS register loads. 627.\" XXX "HS" register? 628.It Li ss 629Count SS register loads. 630.El 631.Pp 632The default is to count all types of loads. 633.It Li k8-nb-ht-bus0-bandwidth Op Li ,mask= Ns Ar qualifier 634.It Li k8-nb-ht-bus1-bandwidth Op Li ,mask= Ns Ar qualifier 635.It Li k8-nb-ht-bus2-bandwidth Op Li ,mask= Ns Ar qualifier 636.Pq Events F6H, F7H and F8H respectively 637Count events on the HyperTransport(tm) buses. 638These events may be further qualified using 639.Ar qualifier , 640which is a 641.Ql + 642separated set of the following keywords: 643.Pp 644.Bl -tag -width indent -compact 645.It Li buffer-release 646Count buffer release messages sent. 647.It Li command 648Count command messages sent. 649.It Li data 650Count data messages sent. 651.It Li nop 652Count nop messages sent. 653.El 654.Pp 655The default is to count all types of messages. 656.It Li k8-nb-memory-controller-bypass-saturation Op Li ,mask= Ns Ar qualifier 657.Pq Event E4H 658Count memory controller bypass counter saturation events. 659This event may be further qualified using 660.Ar qualifier , 661which is a 662.Ql + 663separated set of the following keywords: 664.Pp 665.Bl -tag -width indent -compact 666.It Li dram-controller-interface-bypass 667Count DRAM controller interface bypass. 668.It Li dram-controller-queue-bypass 669Count DRAM controller queue bypass. 670.It Li memory-controller-hi-pri-bypass 671Count memory controller high priority bypasses. 672.It Li memory-controller-lo-pri-bypass 673Count memory controller low priority bypasses. 674.El 675.It Li k8-nb-memory-controller-dram-slots-missed 676.Pq Event E2H 677Count memory controller DRAM command slots missed (in MemClks). 678.It Li k8-nb-memory-controller-page-access-event Op Li ,mask= Ns Ar qualifier 679.Pq Event E0H 680Count memory controller page access events. 681This event may be further qualified using 682.Ar qualifier , 683which is a 684.Ql + 685separated set of the following keywords: 686.Pp 687.Bl -tag -width indent -compact 688.It Li page-conflict 689Count page conflicts. 690.It Li page-hit 691Count page hits. 692.It Li page-miss 693Count page misses. 694.El 695.Pp 696The default is to count all types of events. 697.It Li k8-nb-memory-controller-page-table-overflow 698.Pq Event E1H 699Count memory control page table overflow events. 700.It Li k8-nb-memory-controller-turnaround Op Li ,mask= Ns Ar qualifier 701.Pq Event E3H 702Count memory control turnaround events. 703This event may be further qualified using 704.Ar qualifier , 705which is a 706.Ql + 707separated set of the following keywords: 708.Pp 709.Bl -tag -width indent -compact 710.\" XXX doc is unclear whether these are cycle counts or event counts 711.It Li dimm-turnaround 712Count DIMM turnarounds. 713.It Li read-to-write-turnaround 714Count read to write turnarounds. 715.It Li write-to-read-turnaround 716Count write to read turnarounds. 717.El 718.Pp 719The default is to count all types of events. 720.It Li k8-nb-probe-result Op Li ,mask= Ns Ar qualifier 721.Pq Event ECH 722Count probe events. 723This event may be further qualified using 724.Ar qualifier , 725which is a 726.Ql + 727separated set of the following keywords: 728.Pp 729.Bl -tag -width indent -compact 730.It Li probe-hit 731Count all probe hits. 732.It Li probe-hit-dirty-no-memory-cancel 733Count probe hits without memory cancels. 734.It Li probe-hit-dirty-with-memory-cancel 735Count probe hits with memory cancels. 736.It Li probe-miss 737Count probe misses. 738.El 739.It Li k8-nb-sized-commands Op Li ,mask= Ns Ar qualifier 740.Pq Event EBH 741Count sized commands issued. 742This event may be further qualified using 743.Ar qualifier , 744which is a 745.Ql + 746separated set of the following keywords: 747.Pp 748.Bl -tag -width indent -compact 749.It Li nonpostwrszbyte 750.It Li nonpostwrszdword 751.It Li postwrszbyte 752.It Li postwrszdword 753.It Li rdszbyte 754.It Li rdszdword 755.It Li rdmodwr 756.El 757.Pp 758The default is to count all types of commands. 759.El 760.Ss Event Name Aliases 761The following table shows the mapping between the PMC-independent 762aliases supported by 763.Lb libpmc 764and the underlying hardware events used. 765.Bl -column "branch-mispredicts" "Description" 766.It Em Alias Ta Em Event 767.It Li branches Ta Li k8-fr-retired-taken-branches 768.It Li branch-mispredicts Ta Li k8-fr-retired-taken-branches-mispredicted 769.It Li dc-misses Ta Li k8-dc-miss 770.It Li ic-misses Ta Li k8-ic-miss 771.It Li instructions Ta Li k8-fr-retired-x86-instructions 772.It Li interrupts Ta Li k8-fr-taken-hardware-interrupts 773.It Li unhalted-cycles Ta Li k8-bu-cpu-clk-unhalted 774.El 775.Sh SEE ALSO 776.Xr pmc 3 , 777.Xr pmc.atom 3 , 778.Xr pmc.core 3 , 779.Xr pmc.core2 3 , 780.Xr pmc.iaf 3 , 781.Xr pmc.k7 3 , 782.Xr pmc.p4 3 , 783.Xr pmc.p5 3 , 784.Xr pmc.p6 3 , 785.Xr pmc.soft 3 , 786.Xr pmc.tsc 3 , 787.Xr pmclog 3 , 788.Xr hwpmc 4 789.Sh HISTORY 790The 791.Nm pmc 792library first appeared in 793.Fx 6.0 . 794.Sh AUTHORS 795The 796.Lb libpmc 797library was written by 798.An Joseph Koshy Aq Mt jkoshy@FreeBSD.org . 799