Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf vendor events: Update POWER9 events

Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Link: https://lkml.kernel.org/r/20180313224647.GA22960@us.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Sukadev Bhattiprolu and committed by
Arnaldo Carvalho de Melo
9749adc3 57b5de46

+178 -173
-25
tools/perf/pmu-events/arch/powerpc/power9/cache.json
··· 20 20 "BriefDescription": "Finish stall due to a scalar fixed point or CR instruction in the execution pipeline. These instructions get routed to the ALU, ALU2, and DIV pipes" 21 21 }, 22 22 {, 23 - "EventCode": "0x1D15C", 24 - "EventName": "PM_MRK_DTLB_MISS_1G", 25 - "BriefDescription": "Marked Data TLB reload (after a miss) page size 2M. Implies radix translation was used" 26 - }, 27 - {, 28 23 "EventCode": "0x4D12A", 29 24 "EventName": "PM_MRK_DATA_FROM_RL4_CYC", 30 25 "BriefDescription": "Duration in cycles to reload from another chip's L4 on the same Node or Group ( Remote) due to a marked load" ··· 75 80 "BriefDescription": "Threshold counter exceed a count of 4096" 76 81 }, 77 82 {, 78 - "EventCode": "0x3D156", 79 - "EventName": "PM_MRK_DTLB_MISS_64K", 80 - "BriefDescription": "Marked Data TLB Miss page size 64K" 81 - }, 82 - {, 83 - "EventCode": "0x4C15E", 84 - "EventName": "PM_MRK_DTLB_MISS_16M", 85 - "BriefDescription": "Marked Data TLB Miss page size 16M" 86 - }, 87 - {, 88 - "EventCode": "0x2D15E", 89 - "EventName": "PM_MRK_DTLB_MISS_16G", 90 - "BriefDescription": "Marked Data TLB Miss page size 16G" 91 - }, 92 - {, 93 83 "EventCode": "0x3F14A", 94 84 "EventName": "PM_MRK_DPTEG_FROM_RMEM", 95 85 "BriefDescription": "A Page Table Entry was loaded into the TLB from another chip's memory on the same Node or Group ( Remote) due to a marked data side request. When using Radix Page Translation, this count excludes PDE reloads. Only PTE reloads are included" ··· 103 123 "EventCode": "0x1002A", 104 124 "EventName": "PM_CMPLU_STALL_LARX", 105 125 "BriefDescription": "Finish stall because the NTF instruction was a larx waiting to be satisfied" 106 - }, 107 - {, 108 - "EventCode": "0x1C058", 109 - "EventName": "PM_DTLB_MISS_16G", 110 - "BriefDescription": "Data TLB Miss page size 16G" 111 126 } 112 127 ]
-10
tools/perf/pmu-events/arch/powerpc/power9/frontend.json
··· 155 155 "BriefDescription": "Duration in cycles to reload with Shared (S) data from another chip's L2 or L3 on the same Node or Group (Remote), as this chip due to a marked load" 156 156 }, 157 157 {, 158 - "EventCode": "0x3C056", 159 - "EventName": "PM_DTLB_MISS_64K", 160 - "BriefDescription": "Data TLB Miss page size 64K" 161 - }, 162 - {, 163 158 "EventCode": "0x30060", 164 159 "EventName": "PM_TM_TRANS_RUN_INST", 165 160 "BriefDescription": "Run instructions completed in transactional state (gated by the run latch)" ··· 338 343 "EventCode": "0x40116", 339 344 "EventName": "PM_MRK_LARX_FIN", 340 345 "BriefDescription": "Larx finished" 341 - }, 342 - {, 343 - "EventCode": "0x4C056", 344 - "EventName": "PM_DTLB_MISS_16M", 345 - "BriefDescription": "Data TLB Miss page size 16M" 346 346 }, 347 347 {, 348 348 "EventCode": "0x1003A",
-5
tools/perf/pmu-events/arch/powerpc/power9/marked.json
··· 530 530 "BriefDescription": "Counts all Icache reloads includes demand, prefetch, prefetch turned into demand and demand turned into prefetch" 531 531 }, 532 532 {, 533 - "EventCode": "0x4003C", 534 - "EventName": "PM_DISP_HELD_SYNC_HOLD", 535 - "BriefDescription": "Cycles in which dispatch is held because of a synchronizing instruction in the pipeline" 536 - }, 537 - {, 538 533 "EventCode": "0x3003C", 539 534 "EventName": "PM_CMPLU_STALL_NESTED_TEND", 540 535 "BriefDescription": "Completion stall because the ISU is updating the TEXASR to keep track of the nested tend and decrement the TEXASR nested level. This is a short delay"
-5
tools/perf/pmu-events/arch/powerpc/power9/memory.json
··· 45 45 "BriefDescription": "count of Loads completed" 46 46 }, 47 47 {, 48 - "EventCode": "0x2D156", 49 - "EventName": "PM_MRK_DTLB_MISS_4K", 50 - "BriefDescription": "Marked Data TLB Miss page size 4k" 51 - }, 52 - {, 53 48 "EventCode": "0x4C042", 54 49 "EventName": "PM_DATA_FROM_L3", 55 50 "BriefDescription": "The processor's data cache was reloaded from local core's L3 due to a demand load"
+158 -83
tools/perf/pmu-events/arch/powerpc/power9/other.json
··· 70 70 "BriefDescription": "Cycles thread running at priority level 0 or 1" 71 71 }, 72 72 {, 73 + "EventCode": "0x4C054", 74 + "EventName": "PM_DERAT_MISS_16G_1G", 75 + "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 16G (hpt mode) or 1G (radix mode)" 76 + }, 77 + {, 73 78 "EventCode": "0x2084", 74 79 "EventName": "PM_FLUSH_HB_RESTORE_CYC", 75 80 "BriefDescription": "Cycles in which no new instructions can be dispatched to the ICT after a flush. History buffer recovery" ··· 112 107 {, 113 108 "EventCode": "0x360B2", 114 109 "EventName": "PM_L3_GRP_GUESS_WRONG_LOW", 115 - "BriefDescription": "Initial scope=group (GS or NNS) but data from outside group (far or rem). Prediction too Low" 110 + "BriefDescription": "Prefetch scope predictor selected GS or NNS, but was wrong because scope was LNS" 116 111 }, 117 112 {, 118 113 "EventCode": "0x168A6", 119 114 "EventName": "PM_TM_CAM_OVERFLOW", 120 - "BriefDescription": "L3 TM cam overflow during L2 co of SC" 115 + "BriefDescription": "L3 TM CAM is full when a L2 castout of TM_SC line occurs. Line is pushed to memory" 121 116 }, 122 117 {, 123 118 "EventCode": "0xE8B0", ··· 155 150 "BriefDescription": "All ISU rejects" 156 151 }, 157 152 {, 158 - "EventCode": "0x460A6", 159 - "EventName": "PM_RD_FORMING_SC", 160 - "BriefDescription": "Read forming SC" 161 - }, 162 - {, 163 153 "EventCode": "0x468A0", 164 154 "EventName": "PM_L3_PF_OFF_CHIP_MEM", 165 155 "BriefDescription": "L3 PF from Off chip memory" ··· 187 187 {, 188 188 "EventCode": "0x368A6", 189 189 "EventName": "PM_SNP_TM_HIT_T", 190 - "BriefDescription": "Snp TM sthit T/Tn/Te" 190 + "BriefDescription": "TM snoop that is a store hits line in L3 in T, Tn or Te state (shared modified)" 191 191 }, 192 192 {, 193 193 "EventCode": "0x3001A", ··· 203 203 "EventCode": "0x35158", 204 204 "EventName": "PM_MRK_DATA_FROM_L31_ECO_MOD_CYC", 205 205 "BriefDescription": "Duration in cycles to reload with Modified (M) data from another core's ECO L3 on the same chip due to a marked load" 206 + }, 207 + {, 208 + "EventCode": "0xF0B4", 209 + "EventName": "PM_DC_PREF_CONS_ALLOC", 210 + "BriefDescription": "Prefetch stream allocated in the conservative phase by either the hardware prefetch mechanism or software prefetch. The sum of this pair subtracted from the total number of allocs will give the total allocs in normal phase" 206 211 }, 207 212 {, 208 213 "EventCode": "0xF894", ··· 232 227 {, 233 228 "EventCode": "0x468A6", 234 229 "EventName": "PM_RD_CLEARING_SC", 235 - "BriefDescription": "Read clearing SC" 230 + "BriefDescription": "Core TM load hits line in L3 in TM_SC state and causes it to be invalidated" 231 + }, 232 + {, 233 + "EventCode": "0xD0B0", 234 + "EventName": "PM_HWSYNC", 235 + "BriefDescription": "" 236 236 }, 237 237 {, 238 238 "EventCode": "0x168B0", ··· 275 265 "BriefDescription": "Prefetch stream allocated by the hardware prefetch mechanism" 276 266 }, 277 267 {, 268 + "EventCode": "0xF0BC", 269 + "EventName": "PM_LS2_UNALIGNED_ST", 270 + "BriefDescription": "Store instructions whose data crosses a double-word boundary, which causes it to require an additional slice than than what normally would be required of the Store of that size. If the Store wraps from slice 3 to slice 0, thee is an additional 3-cycle penalty" 271 + }, 272 + {, 278 273 "EventCode": "0xD0AC", 279 274 "EventName": "PM_SRQ_SYNC_CYC", 280 275 "BriefDescription": "A sync is in the S2Q (edge detect to count)" ··· 288 273 "EventCode": "0x401E6", 289 274 "EventName": "PM_MRK_INST_FROM_L3MISS", 290 275 "BriefDescription": "Marked instruction was reloaded from a location beyond the local chiplet" 276 + }, 277 + {, 278 + "EventCode": "0x58A8", 279 + "EventName": "PM_DECODE_HOLD_ICT_FULL", 280 + "BriefDescription": "Counts the number of cycles in which the IFU was not able to decode and transmit one or more instructions because all itags were in use. This means the ICT is full for this thread" 291 281 }, 292 282 {, 293 283 "EventCode": "0x26082", ··· 385 365 "BriefDescription": "Duration in cycles to reload either shared or modified data from another core's L2/L3 on a different chip (remote or distant) due to a marked load" 386 366 }, 387 367 {, 368 + "EventCode": "0xF888", 369 + "EventName": "PM_LSU1_STORE_REJECT", 370 + "BriefDescription": "All internal store rejects cause the instruction to go back to the SRQ and go to sleep until woken up to try again after the condition has been met" 371 + }, 372 + {, 373 + "EventCode": "0xC098", 374 + "EventName": "PM_LS2_UNALIGNED_LD", 375 + "BriefDescription": "Load instructions whose data crosses a double-word boundary, which causes it to require an additional slice than than what normally would be required of the load of that size. If the load wraps from slice 3 to slice 0, thee is an additional 3-cycle penalty" 376 + }, 377 + {, 388 378 "EventCode": "0x20058", 389 379 "EventName": "PM_DARQ1_10_12_ENTRIES", 390 380 "BriefDescription": "Cycles in which 10 or more DARQ1 entries (out of 12) are in use" ··· 402 372 {, 403 373 "EventCode": "0x360A6", 404 374 "EventName": "PM_SNP_TM_HIT_M", 405 - "BriefDescription": "Snp TM st hit M/Mu" 375 + "BriefDescription": "TM snoop that is a store hits line in L3 in M or Mu state (exclusive modified)" 406 376 }, 407 377 {, 408 378 "EventCode": "0x5898", ··· 425 395 "BriefDescription": "A data line was written to the L1 due to a hardware or software prefetch" 426 396 }, 427 397 {, 428 - "EventCode": "0xF888", 429 - "EventName": "PM_LSU1_STORE_REJECT", 430 - "BriefDescription": "All internal store rejects cause the instruction to go back to the SRQ and go to sleep until woken up to try again after the condition has been met" 398 + "EventCode": "0x2608E", 399 + "EventName": "PM_TM_LD_CONF", 400 + "BriefDescription": "TM Load (fav or non-fav) ran into conflict (failed)" 431 401 }, 432 402 {, 433 403 "EventCode": "0x1D144", ··· 452 422 {, 453 423 "EventCode": "0x26884", 454 424 "EventName": "PM_DSIDE_MRU_TOUCH", 455 - "BriefDescription": "D-side L2 MRU touch sent to L2" 425 + "BriefDescription": "D-side L2 MRU touch commands sent to the L2" 456 426 }, 457 427 {, 458 428 "EventCode": "0x30134", ··· 468 438 "EventCode": "0x50A8", 469 439 "EventName": "PM_EAT_FORCE_MISPRED", 470 440 "BriefDescription": "XL-form branch was mispredicted due to the predicted target address missing from EAT. The EAT forces a mispredict in this case since there is no predicated target to validate. This is a rare case that may occur when the EAT is full and a branch is issued" 441 + }, 442 + {, 443 + "EventCode": "0xC094", 444 + "EventName": "PM_LS0_UNALIGNED_LD", 445 + "BriefDescription": "Load instructions whose data crosses a double-word boundary, which causes it to require an additional slice than than what normally would be required of the load of that size. If the load wraps from slice 3 to slice 0, thee is an additional 3-cycle penalty" 446 + }, 447 + {, 448 + "EventCode": "0xF8BC", 449 + "EventName": "PM_LS3_UNALIGNED_ST", 450 + "BriefDescription": "Store instructions whose data crosses a double-word boundary, which causes it to require an additional slice than than what normally would be required of the Store of that size. If the Store wraps from slice 3 to slice 0, thee is an additional 3-cycle penalty" 471 451 }, 472 452 {, 473 453 "EventCode": "0x460AE", ··· 532 492 {, 533 493 "EventCode": "0xC880", 534 494 "EventName": "PM_LS1_LD_VECTOR_FIN", 535 - "BriefDescription": "" 495 + "BriefDescription": "LS1 finished load vector op" 536 496 }, 537 497 {, 538 498 "EventCode": "0x2894", ··· 553 513 "EventCode": "0x30162", 554 514 "EventName": "PM_MRK_LSU_DERAT_MISS", 555 515 "BriefDescription": "Marked derat reload (miss) for any page size" 516 + }, 517 + {, 518 + "EventCode": "0x160A0", 519 + "EventName": "PM_L3_PF_MISS_L3", 520 + "BriefDescription": "L3 PF missed in L3" 556 521 }, 557 522 {, 558 523 "EventCode": "0x1C04A", ··· 610 565 "BriefDescription": "L2 guess local (LNS) and guess was not correct (ie data not on chip)" 611 566 }, 612 567 {, 568 + "EventCode": "0xC888", 569 + "EventName": "PM_LSU_DTLB_MISS_64K", 570 + "BriefDescription": "Data TLB Miss page size 64K" 571 + }, 572 + {, 613 573 "EventCode": "0xE0A4", 614 574 "EventName": "PM_TMA_REQ_L2", 615 575 "BriefDescription": "addrs only req to L2 only on the first one,Indication that Load footprint is not expanding" 576 + }, 577 + {, 578 + "EventCode": "0xC088", 579 + "EventName": "PM_LSU_DTLB_MISS_4K", 580 + "BriefDescription": "Data TLB Miss page size 4K" 616 581 }, 617 582 {, 618 583 "EventCode": "0x3C042", ··· 657 602 {, 658 603 "EventCode": "0x26084", 659 604 "EventName": "PM_L2_RCLD_DISP_FAIL_OTHER", 660 - "BriefDescription": "All I-or-D side load dispatch attempts for this thread that failed due to reason other than address collision (excludes i_l2mru_tch_reqs)" 605 + "BriefDescription": "All D-side-Ld or I-side-instruction-fetch dispatch attempts for this thread that failed due to reasons other than an address collision conflicts with an L2 machines (e.g. Read-Claim/Snoop machine not available)" 661 606 }, 662 607 {, 663 608 "EventCode": "0x101E4", ··· 702 647 {, 703 648 "EventCode": "0x46080", 704 649 "EventName": "PM_L2_DISP_ALL_L2MISS", 705 - "BriefDescription": "All successful Ld/St dispatches for this thread that were an L2 miss (excludes i_l2mru_tch_reqs)" 650 + "BriefDescription": "All successful D-side-Ld/St or I-side-instruction-fetch dispatches for this thread that were an L2 miss" 706 651 }, 707 652 {, 708 - "EventCode": "0x160A0", 709 - "EventName": "PM_L3_PF_MISS_L3", 710 - "BriefDescription": "L3 PF missed in L3" 653 + "EventCode": "0xF8B8", 654 + "EventName": "PM_LS1_UNALIGNED_ST", 655 + "BriefDescription": "Store instructions whose data crosses a double-word boundary, which causes it to require an additional slice than than what normally would be required of the Store of that size. If the Store wraps from slice 3 to slice 0, thee is an additional 3-cycle penalty" 711 656 }, 712 657 {, 713 658 "EventCode": "0x408C", ··· 722 667 {, 723 668 "EventCode": "0x160B2", 724 669 "EventName": "PM_L3_LOC_GUESS_CORRECT", 725 - "BriefDescription": "initial scope=node/chip (LNS) and data from local node (local) (pred successful) - always PFs only" 670 + "BriefDescription": "Prefetch scope predictor selected LNS and was correct" 726 671 }, 727 672 {, 728 673 "EventCode": "0x48B4", ··· 822 767 {, 823 768 "EventCode": "0x36082", 824 769 "EventName": "PM_L2_LD_DISP", 825 - "BriefDescription": "All successful I-or-D side load dispatches for this thread (excludes i_l2mru_tch_reqs)" 770 + "BriefDescription": "All successful D-side-Ld or I-side-instruction-fetch dispatches for this thread" 826 771 }, 827 772 {, 828 773 "EventCode": "0xF8B0", ··· 842 787 {, 843 788 "EventCode": "0x16884", 844 789 "EventName": "PM_L2_RCLD_DISP_FAIL_ADDR", 845 - "BriefDescription": "All I-od-D side load dispatch attempts for this thread that failed due to address collision with RC/CO/SN/SQ machine (excludes i_l2mru_tch_reqs)" 790 + "BriefDescription": "All D-side-Ld or I-side-instruction-fetch dispatch attempts for this thread that failed due to an address collision conflicts with an L2 machines already working on this line (e.g. ld-hit-stq or Read-claim/Castout/Snoop machines)" 846 791 }, 847 792 {, 848 793 "EventCode": "0x460A0", ··· 885 830 "BriefDescription": "Instruction prefetch requests" 886 831 }, 887 832 {, 833 + "EventCode": "0xC898", 834 + "EventName": "PM_LS3_UNALIGNED_LD", 835 + "BriefDescription": "Load instructions whose data crosses a double-word boundary, which causes it to require an additional slice than than what normally would be required of the load of that size. If the load wraps from slice 3 to slice 0, thee is an additional 3-cycle penalty" 836 + }, 837 + {, 888 838 "EventCode": "0x488C", 889 839 "EventName": "PM_IC_PREF_WRITE", 890 840 "BriefDescription": "Instruction prefetch written into IL1" ··· 897 837 {, 898 838 "EventCode": "0xF89C", 899 839 "EventName": "PM_XLATE_MISS", 900 - "BriefDescription": "The LSU requested a line from L2 for translation. It may be satisfied from any source beyond L2. Includes speculative instructions" 840 + "BriefDescription": "The LSU requested a line from L2 for translation. It may be satisfied from any source beyond L2. Includes speculative instructions. Includes instruction, prefetch and demand" 901 841 }, 902 842 {, 903 843 "EventCode": "0x14158", ··· 910 850 "BriefDescription": "Duration in cycles to reload with Shared (S) data from another core's L3 on the same chip due to a marked load" 911 851 }, 912 852 {, 853 + "EventCode": "0xC88C", 854 + "EventName": "PM_LSU_DTLB_MISS_16G_1G", 855 + "BriefDescription": "Data TLB Miss page size 16G (HPT) or 1G (Radix)" 856 + }, 857 + {, 913 858 "EventCode": "0x268A6", 914 859 "EventName": "PM_TM_RST_SC", 915 - "BriefDescription": "TM-snp rst RM SC" 860 + "BriefDescription": "TM snoop hits line in L3 that is TM_SC state and causes it to be invalidated" 916 861 }, 917 862 {, 918 863 "EventCode": "0x468A4", ··· 982 917 {, 983 918 "EventCode": "0x46086", 984 919 "EventName": "PM_L2_SN_M_RD_DONE", 985 - "BriefDescription": "SNP dispatched for a read and was M (true M)" 920 + "BriefDescription": "Snoop dispatched for a read and was M (true M)" 986 921 }, 987 922 {, 988 923 "EventCode": "0x40154", ··· 1045 980 "BriefDescription": "Link stack predicts right address" 1046 981 }, 1047 982 {, 1048 - "EventCode": "0x4C05A", 1049 - "EventName": "PM_DTLB_MISS_1G", 1050 - "BriefDescription": "Data TLB reload (after a miss) page size 1G. Implies radix translation was used" 1051 - }, 1052 - {, 1053 983 "EventCode": "0x36886", 1054 984 "EventName": "PM_L2_SN_SX_I_DONE", 1055 - "BriefDescription": "SNP dispatched and went from Sx to Ix" 985 + "BriefDescription": "Snoop dispatched and went from Sx to Ix" 1056 986 }, 1057 987 {, 1058 988 "EventCode": "0x4E04A", ··· 1058 998 "EventCode": "0x2C12C", 1059 999 "EventName": "PM_MRK_DATA_FROM_DL4_CYC", 1060 1000 "BriefDescription": "Duration in cycles to reload from another chip's L4 on a different Node or Group (Distant) due to a marked load" 1061 - }, 1062 - {, 1063 - "EventCode": "0x2608E", 1064 - "EventName": "PM_TM_LD_CONF", 1065 - "BriefDescription": "TM Load (fav or non-fav) ran into conflict (failed)" 1066 1001 }, 1067 1002 {, 1068 1003 "EventCode": "0x4080", ··· 1092 1037 {, 1093 1038 "EventCode": "0x260A6", 1094 1039 "EventName": "PM_NON_TM_RST_SC", 1095 - "BriefDescription": "Non-TM snp rst TM SC" 1040 + "BriefDescription": "Non-TM snoop hits line in L3 that is TM_SC state and causes it to be invalidated" 1096 1041 }, 1097 1042 {, 1098 1043 "EventCode": "0x3608A", ··· 1118 1063 "EventCode": "0x50A4", 1119 1064 "EventName": "PM_FLUSH_MPRED", 1120 1065 "BriefDescription": "Branch mispredict flushes. Includes target and address misprecition" 1121 - }, 1122 - {, 1123 - "EventCode": "0x508C", 1124 - "EventName": "PM_SHL_CREATED", 1125 - "BriefDescription": "Store-Hit-Load Table Entry Created" 1126 1066 }, 1127 1067 {, 1128 1068 "EventCode": "0x1504C", ··· 1157 1107 {, 1158 1108 "EventCode": "0x2608A", 1159 1109 "EventName": "PM_ISIDE_DISP_FAIL_ADDR", 1160 - "BriefDescription": "All I-side dispatch attempts for this thread that failed due to a addr collision with another machine (excludes i_l2mru_tch_reqs)" 1110 + "BriefDescription": "All I-side-instruction-fetch dispatch attempts for this thread that failed due to an address collision conflict with an L2 machine already working on this line (e.g. ld-hit-stq or RC/CO/SN machines)" 1161 1111 }, 1162 1112 {, 1163 1113 "EventCode": "0x50B4", ··· 1230 1180 "BriefDescription": "Number of stcx instructions finished. This includes instructions in the speculative path of a branch that may be flushed" 1231 1181 }, 1232 1182 {, 1233 - "EventCode": "0xE0B8", 1234 - "EventName": "PM_LS2_TM_DISALLOW", 1235 - "BriefDescription": "A TM-ineligible instruction tries to execute inside a transaction and the LSU disallows it" 1183 + "EventCode": "0xD8AC", 1184 + "EventName": "PM_LWSYNC", 1185 + "BriefDescription": "" 1236 1186 }, 1237 1187 {, 1238 1188 "EventCode": "0x2094", ··· 1258 1208 "EventCode": "0x30018", 1259 1209 "EventName": "PM_ICT_NOSLOT_DISP_HELD_HB_FULL", 1260 1210 "BriefDescription": "Ict empty for this thread due to dispatch holds because the History Buffer was full. Could be GPR/VSR/VMR/FPR/CR/XVF; CR; XVF (XER/VSCR/FPSCR)" 1211 + }, 1212 + {, 1213 + "EventCode": "0xC894", 1214 + "EventName": "PM_LS1_UNALIGNED_LD", 1215 + "BriefDescription": "Load instructions whose data crosses a double-word boundary, which causes it to require an additional slice than than what normally would be required of the load of that size. If the load wraps from slice 3 to slice 0, thee is an additional 3-cycle penalty" 1261 1216 }, 1262 1217 {, 1263 1218 "EventCode": "0x360A2", ··· 1347 1292 {, 1348 1293 "EventCode": "0xC084", 1349 1294 "EventName": "PM_LS2_LD_VECTOR_FIN", 1350 - "BriefDescription": "" 1295 + "BriefDescription": "LS2 finished load vector op" 1351 1296 }, 1352 1297 {, 1353 1298 "EventCode": "0x1608E", ··· 1400 1345 "BriefDescription": "Continuous 16 cycle (2to1) window where this signals rotates thru sampling each SN machine busy. PMU uses this wave to then do 16 cyc count to sample total number of machs running" 1401 1346 }, 1402 1347 {, 1348 + "EventCode": "0x36084", 1349 + "EventName": "PM_L2_RCST_DISP", 1350 + "BriefDescription": "All D-side store dispatch attempts for this thread" 1351 + }, 1352 + {, 1403 1353 "EventCode": "0x46084", 1404 1354 "EventName": "PM_L2_RCST_DISP_FAIL_OTHER", 1405 1355 "BriefDescription": "All D-side store dispatch attempts for this thread that failed due to reason other than address collision" ··· 1413 1353 "EventCode": "0xF0AC", 1414 1354 "EventName": "PM_DC_PREF_STRIDED_CONF", 1415 1355 "BriefDescription": "A demand load referenced a line in an active strided prefetch stream. The stream could have been allocated through the hardware prefetch mechanism or through software." 1416 - }, 1417 - {, 1418 - "EventCode": "0x36084", 1419 - "EventName": "PM_L2_RCST_DISP", 1420 - "BriefDescription": "All D-side store dispatch attempts for this thread" 1421 1356 }, 1422 1357 {, 1423 1358 "EventCode": "0x45054", ··· 1427 1372 {, 1428 1373 "EventCode": "0x36080", 1429 1374 "EventName": "PM_L2_INST", 1430 - "BriefDescription": "All successful I-side dispatches for this thread (excludes i_l2mru_tch reqs)" 1375 + "BriefDescription": "All successful I-side-instruction-fetch (e.g. i-demand, i-prefetch) dispatches for this thread" 1431 1376 }, 1432 1377 {, 1433 1378 "EventCode": "0x3504C", ··· 1442 1387 {, 1443 1388 "EventCode": "0x1688A", 1444 1389 "EventName": "PM_ISIDE_DISP", 1445 - "BriefDescription": "All I-side dispatch attempts for this thread (excludes i_l2mru_tch_reqs)" 1390 + "BriefDescription": "All I-side-instruction-fetch dispatch attempts for this thread" 1446 1391 }, 1447 1392 {, 1448 1393 "EventCode": "0x468AA", ··· 1473 1418 "EventCode": "0xE098", 1474 1419 "EventName": "PM_LSU2_TM_L1_HIT", 1475 1420 "BriefDescription": "Load tm hit in L1" 1421 + }, 1422 + {, 1423 + "EventCode": "0xE0B8", 1424 + "EventName": "PM_LS2_TM_DISALLOW", 1425 + "BriefDescription": "A TM-ineligible instruction tries to execute inside a transaction and the LSU disallows it" 1476 1426 }, 1477 1427 {, 1478 1428 "EventCode": "0x44044", ··· 1527 1467 {, 1528 1468 "EventCode": "0x36086", 1529 1469 "EventName": "PM_L2_RC_ST_DONE", 1530 - "BriefDescription": "RC did store to line that was Tx or Sx" 1470 + "BriefDescription": "Read-claim machine did store to line that was in Tx or Sx (Tagged or Shared state)" 1531 1471 }, 1532 1472 {, 1533 1473 "EventCode": "0xE8AC", ··· 1560 1500 "BriefDescription": "A Page Table Entry was loaded into the TLB from local core's L2 without conflict due to a instruction side request" 1561 1501 }, 1562 1502 {, 1503 + "EventCode": "0x460A6", 1504 + "EventName": "PM_RD_FORMING_SC", 1505 + "BriefDescription": "Doesn't occur" 1506 + }, 1507 + {, 1563 1508 "EventCode": "0x35042", 1564 1509 "EventName": "PM_IPTEG_FROM_L3_DISP_CONFLICT", 1565 1510 "BriefDescription": "A Page Table Entry was loaded into the TLB from local core's L3 with dispatch conflict due to a instruction side request" ··· 1592 1527 {, 1593 1528 "EventCode": "0x36882", 1594 1529 "EventName": "PM_L2_LD_HIT", 1595 - "BriefDescription": "All successful I-or-D side load dispatches for this thread that were L2 hits (excludes i_l2mru_tch_reqs)" 1530 + "BriefDescription": "All successful D-side-Ld or I-side-instruction-fetch dispatches for this thread that were L2 hits" 1596 1531 }, 1597 1532 {, 1598 1533 "EventCode": "0x168AC", ··· 1620 1555 "BriefDescription": "ProbeNops dispatched" 1621 1556 }, 1622 1557 {, 1623 - "EventCode": "0x58A8", 1624 - "EventName": "PM_DECODE_HOLD_ICT_FULL", 1625 - "BriefDescription": "Counts the number of cycles in which the IFU was not able to decode and transmit one or more instructions because all itags were in use. This means the ICT is full for this thread" 1626 - }, 1627 - {, 1628 1558 "EventCode": "0x10052", 1629 1559 "EventName": "PM_GRP_PUMP_MPRED_RTY", 1630 1560 "BriefDescription": "Final Pump Scope (Group) ended up larger than Initial Pump Scope (Chip) for all data types excluding data prefetch (demand load,inst prefetch,inst fetch,xlate)" ··· 1632 1572 {, 1633 1573 "EventCode": "0x2688A", 1634 1574 "EventName": "PM_ISIDE_DISP_FAIL_OTHER", 1635 - "BriefDescription": "All I-side dispatch attempts for this thread that failed due to a reason other than addrs collision (excludes i_l2mru_tch_reqs)" 1575 + "BriefDescription": "All I-side-instruction-fetch dispatch attempts for this thread that failed due to reasons other than an address collision conflict with an L2 machine (e.g. no available RC/CO machines)" 1636 1576 }, 1637 1577 {, 1638 1578 "EventCode": "0x2001A", ··· 1712 1652 {, 1713 1653 "EventCode": "0x46880", 1714 1654 "EventName": "PM_ISIDE_MRU_TOUCH", 1715 - "BriefDescription": "I-side L2 MRU touch sent to L2 for this thread" 1655 + "BriefDescription": "I-side L2 MRU touch sent to L2 for this thread I-side L2 MRU touch commands sent to the L2 for this thread" 1716 1656 }, 1717 1657 {, 1718 - "EventCode": "0x1C05C", 1719 - "EventName": "PM_DTLB_MISS_2M", 1720 - "BriefDescription": "Data TLB reload (after a miss) page size 2M. Implies radix translation was used" 1658 + "EventCode": "0x508C", 1659 + "EventName": "PM_SHL_CREATED", 1660 + "BriefDescription": "Store-Hit-Load Table Entry Created" 1721 1661 }, 1722 1662 {, 1723 1663 "EventCode": "0x50B8", ··· 1732 1672 {, 1733 1673 "EventCode": "0x268B2", 1734 1674 "EventName": "PM_L3_LOC_GUESS_WRONG", 1735 - "BriefDescription": "Initial scope=node (LNS) but data from out side local node (near or far or rem). Prediction too Low" 1675 + "BriefDescription": "Prefetch scope predictor selected LNS, but was wrong" 1736 1676 }, 1737 1677 {, 1738 1678 "EventCode": "0x36088", ··· 1743 1683 "EventCode": "0x260AE", 1744 1684 "EventName": "PM_L3_P2_PF_RTY", 1745 1685 "BriefDescription": "L3 PF received retry port 2, every retry counted" 1686 + }, 1687 + {, 1688 + "EventCode": "0xD8B0", 1689 + "EventName": "PM_PTESYNC", 1690 + "BriefDescription": "" 1746 1691 }, 1747 1692 {, 1748 1693 "EventCode": "0x26086", ··· 1805 1740 "BriefDescription": "All successful D-Side Store dispatches that were an L2 miss for this thread" 1806 1741 }, 1807 1742 {, 1743 + "EventCode": "0xF8B4", 1744 + "EventName": "PM_DC_PREF_XCONS_ALLOC", 1745 + "BriefDescription": "Prefetch stream allocated in the Ultra conservative phase by either the hardware prefetch mechanism or software prefetch" 1746 + }, 1747 + {, 1808 1748 "EventCode": "0x35048", 1809 1749 "EventName": "PM_IPTEG_FROM_DL2L3_SHR", 1810 1750 "BriefDescription": "A Page Table Entry was loaded into the TLB with Shared (S) data from another chip's L2 or L3 on a different Node or Group (Distant), as this chip due to a instruction side request" ··· 1852 1782 {, 1853 1783 "EventCode": "0x460B2", 1854 1784 "EventName": "PM_L3_SYS_GUESS_WRONG", 1855 - "BriefDescription": "Initial scope=system (VGS or RNS) but data from local or near. Prediction too high" 1785 + "BriefDescription": "Prefetch scope predictor selected VGS or RNS, but was wrong" 1856 1786 }, 1857 1787 {, 1858 1788 "EventCode": "0x58B8", ··· 1868 1798 "EventCode": "0x2898", 1869 1799 "EventName": "PM_TM_TABORT_TRECLAIM", 1870 1800 "BriefDescription": "Completion time tabortnoncd, tabortcd, treclaim" 1871 - }, 1872 - {, 1873 - "EventCode": "0x4C054", 1874 - "EventName": "PM_DERAT_MISS_16G", 1875 - "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 16G" 1876 1801 }, 1877 1802 {, 1878 1803 "EventCode": "0x268A0", ··· 1927 1862 {, 1928 1863 "EventCode": "0x368B2", 1929 1864 "EventName": "PM_L3_GRP_GUESS_WRONG_HIGH", 1930 - "BriefDescription": "Initial scope=group (GS or NNS) but data from local node. Prediction too high" 1865 + "BriefDescription": "Prefetch scope predictor selected GS or NNS, but was wrong because scope was VGS or RNS" 1931 1866 }, 1932 1867 {, 1933 1868 "EventCode": "0xE8BC", ··· 1962 1897 {, 1963 1898 "EventCode": "0x260B2", 1964 1899 "EventName": "PM_L3_SYS_GUESS_CORRECT", 1965 - "BriefDescription": "Initial scope=system (VGS or RNS) and data from outside group (far or rem)(pred successful)" 1900 + "BriefDescription": "Prefetch scope predictor selected VGS or RNS and was correct" 1966 1901 }, 1967 1902 {, 1968 1903 "EventCode": "0x1D146", ··· 1980 1915 "BriefDescription": "RC requests that were on group (aka nodel) pump attempts" 1981 1916 }, 1982 1917 {, 1918 + "EventCode": "0xC08C", 1919 + "EventName": "PM_LSU_DTLB_MISS_16M_2M", 1920 + "BriefDescription": "Data TLB Miss page size 16M (HPT) or 2M (Radix)" 1921 + }, 1922 + {, 1983 1923 "EventCode": "0x16080", 1984 1924 "EventName": "PM_L2_LD", 1985 1925 "BriefDescription": "All successful D-side Load dispatches for this thread (L2 miss + L2 hits)" ··· 1997 1927 {, 1998 1928 "EventCode": "0xC080", 1999 1929 "EventName": "PM_LS0_LD_VECTOR_FIN", 2000 - "BriefDescription": "" 1930 + "BriefDescription": "LS0 finished load vector op" 2001 1931 }, 2002 1932 {, 2003 1933 "EventCode": "0x368B0", ··· 2070 2000 "BriefDescription": "Conditional Branch Completed in which the HW correctly predicted the direction as taken. Counted at completion time" 2071 2001 }, 2072 2002 {, 2003 + "EventCode": "0xF0B8", 2004 + "EventName": "PM_LS0_UNALIGNED_ST", 2005 + "BriefDescription": "Store instructions whose data crosses a double-word boundary, which causes it to require an additional slice than than what normally would be required of the Store of that size. If the Store wraps from slice 3 to slice 0, thee is an additional 3-cycle penalty" 2006 + }, 2007 + {, 2073 2008 "EventCode": "0x20132", 2074 2009 "EventName": "PM_MRK_DFU_FIN", 2075 2010 "BriefDescription": "Decimal Unit marked Instruction Finish" ··· 2082 2007 {, 2083 2008 "EventCode": "0x160A6", 2084 2009 "EventName": "PM_TM_SC_CO", 2085 - "BriefDescription": "L3 castout TM SC line" 2010 + "BriefDescription": "L3 castout of line that was StoreCopy (original value of speculatively written line) in a Transaction" 2086 2011 }, 2087 2012 {, 2088 2013 "EventCode": "0xC8B0", ··· 2092 2017 {, 2093 2018 "EventCode": "0x16084", 2094 2019 "EventName": "PM_L2_RCLD_DISP", 2095 - "BriefDescription": "All I-or-D side load dispatch attempts for this thread (excludes i_l2mru_tch_reqs)" 2020 + "BriefDescription": "All D-side-Ld or I-side-instruction-fetch dispatch attempts for this thread" 2096 2021 }, 2097 2022 {, 2098 2023 "EventCode": "0x3F150", ··· 2197 2122 {, 2198 2123 "EventCode": "0x46082", 2199 2124 "EventName": "PM_L2_ST_DISP", 2200 - "BriefDescription": "All successful D-side store dispatches for this thread (L2 miss + L2 hits)" 2125 + "BriefDescription": "All successful D-side store dispatches for this thread" 2201 2126 }, 2202 2127 {, 2203 2128 "EventCode": "0x36880", 2204 2129 "EventName": "PM_L2_INST_MISS", 2205 - "BriefDescription": "All successful I-side dispatches that were an L2 miss for this thread (excludes i_l2mru_tch reqs)" 2130 + "BriefDescription": "All successful I-side-instruction-fetch (e.g. i-demand, i-prefetch) dispatches for this thread that were an L2 miss" 2206 2131 }, 2207 2132 {, 2208 2133 "EventCode": "0xE084", ··· 2292 2217 {, 2293 2218 "EventCode": "0xC884", 2294 2219 "EventName": "PM_LS3_LD_VECTOR_FIN", 2295 - "BriefDescription": "" 2220 + "BriefDescription": "LS3 finished load vector op" 2296 2221 }, 2297 2222 {, 2298 2223 "EventCode": "0x360A8", ··· 2317 2242 {, 2318 2243 "EventCode": "0x168B2", 2319 2244 "EventName": "PM_L3_GRP_GUESS_CORRECT", 2320 - "BriefDescription": "Initial scope=group (GS or NNS) and data from same group (near) (pred successful)" 2245 + "BriefDescription": "Prefetch scope predictor selected GS or NNS and was correct" 2321 2246 }, 2322 2247 {, 2323 2248 "EventCode": "0x48A4",
+15 -35
tools/perf/pmu-events/arch/powerpc/power9/pipeline.json
··· 65 65 "BriefDescription": "Dispatch Held" 66 66 }, 67 67 {, 68 - "EventCode": "0x3D154", 69 - "EventName": "PM_MRK_DERAT_MISS_16M", 70 - "BriefDescription": "Marked Data ERAT Miss (Data TLB Access) page size 16M" 71 - }, 72 - {, 73 68 "EventCode": "0x200F8", 74 69 "EventName": "PM_EXT_INT", 75 70 "BriefDescription": "external interrupt" ··· 115 120 "BriefDescription": "A Page Table Entry was loaded into the TLB from local core's L3 without dispatch conflicts hit on Mepf state. due to a marked data side request. When using Radix Page Translation, this count excludes PDE reloads. Only PTE reloads are included" 116 121 }, 117 122 {, 123 + "EventCode": "0x4C15C", 124 + "EventName": "PM_MRK_DERAT_MISS_16G_1G", 125 + "BriefDescription": "Marked Data ERAT Miss (Data TLB Access) page size 16G (hpt mode) and 1G (radix mode)" 126 + }, 127 + {, 118 128 "EventCode": "0x10024", 119 129 "EventName": "PM_PMC5_OVERFLOW", 120 130 "BriefDescription": "Overflow from counter 5" ··· 155 155 "BriefDescription": "Ict empty for this thread due to Icache Miss" 156 156 }, 157 157 {, 158 - "EventCode": "0x3D152", 159 - "EventName": "PM_MRK_DERAT_MISS_1G", 160 - "BriefDescription": "Marked Data ERAT Miss (Data TLB Access) page size 1G. Implies radix translation" 161 - }, 162 - {, 163 158 "EventCode": "0x4F14A", 164 159 "EventName": "PM_MRK_DPTEG_FROM_OFF_CHIP_CACHE", 165 160 "BriefDescription": "A Page Table Entry was loaded into the TLB either shared or modified data from another core's L2/L3 on a different chip (remote or distant) due to a marked data side request. When using Radix Page Translation, this count excludes PDE reloads. Only PTE reloads are included" ··· 178 183 "EventCode": "0x1F140", 179 184 "EventName": "PM_MRK_DPTEG_FROM_L2_NO_CONFLICT", 180 185 "BriefDescription": "A Page Table Entry was loaded into the TLB from local core's L2 without conflict due to a marked data side request. When using Radix Page Translation, this count excludes PDE reloads. Only PTE reloads are included" 181 - }, 182 - {, 183 - "EventCode": "0x2C05A", 184 - "EventName": "PM_DERAT_MISS_1G", 185 - "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 1G. Implies radix translation" 186 186 }, 187 187 {, 188 188 "EventCode": "0x1F058", ··· 230 240 "BriefDescription": "Data PTEG reload" 231 241 }, 232 242 {, 233 - "EventCode": "0x2D152", 234 - "EventName": "PM_MRK_DERAT_MISS_2M", 235 - "BriefDescription": "Marked Data ERAT Miss (Data TLB Access) page size 2M. Implies radix translation" 236 - }, 237 - {, 238 243 "EventCode": "0x2C046", 239 244 "EventName": "PM_DATA_FROM_RL2L3_MOD", 240 245 "BriefDescription": "The processor's data cache was reloaded with Modified (M) data from another chip's L2 or L3 on the same Node or Group (Remote), as this chip due to a demand load" ··· 273 288 "EventCode": "0x2D012", 274 289 "EventName": "PM_CMPLU_STALL_DFU", 275 290 "BriefDescription": "Finish stall because the NTF instruction was issued to the Decimal Floating Point execution pipe and waiting to finish. Includes decimal floating point instructions + 128 bit binary floating point instructions. Not qualified by multicycle" 291 + }, 292 + {, 293 + "EventCode": "0x3C054", 294 + "EventName": "PM_DERAT_MISS_16M_2M", 295 + "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 16M (HPT mode) or 2M (Radix mode)" 276 296 }, 277 297 {, 278 298 "EventCode": "0x4C04C", ··· 350 360 "BriefDescription": "The processor's Instruction cache was reloaded from a memory location including L4 from local remote or distant due to an instruction fetch (not prefetch)" 351 361 }, 352 362 {, 353 - "EventCode": "0x1C05A", 354 - "EventName": "PM_DERAT_MISS_2M", 355 - "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 2M. Implies radix translation" 356 - }, 357 - {, 358 363 "EventCode": "0x30024", 359 364 "EventName": "PM_PMC6_OVERFLOW", 360 365 "BriefDescription": "Overflow from counter 6" ··· 358 373 "EventCode": "0x10068", 359 374 "EventName": "PM_BRU_FIN", 360 375 "BriefDescription": "Branch Instruction Finished" 376 + }, 377 + {, 378 + "EventCode": "0x3D154", 379 + "EventName": "PM_MRK_DERAT_MISS_16M_2M", 380 + "BriefDescription": "Marked Data ERAT Miss (Data TLB Access) page size 16M (hpt mode) or 2M (radix mode)" 361 381 }, 362 382 {, 363 383 "EventCode": "0x30020", ··· 400 410 "BriefDescription": "A Page Table Entry was loaded into the TLB with Modified (M) data from another core's L3 on the same chip due to a marked data side request. When using Radix Page Translation, this count excludes PDE reloads. Only PTE reloads are included" 401 411 }, 402 412 {, 403 - "EventCode": "0x4C15C", 404 - "EventName": "PM_MRK_DERAT_MISS_16G", 405 - "BriefDescription": "Marked Data ERAT Miss (Data TLB Access) page size 16G" 406 - }, 407 - {, 408 413 "EventCode": "0x14052", 409 414 "EventName": "PM_INST_GRP_PUMP_MPRED_RTY", 410 415 "BriefDescription": "Final Pump Scope (Group) ended up larger than Initial Pump Scope (Chip) for an instruction fetch" ··· 428 443 "EventCode": "0x10018", 429 444 "EventName": "PM_IC_DEMAND_CYC", 430 445 "BriefDescription": "Icache miss demand cycles" 431 - }, 432 - {, 433 - "EventCode": "0x3C054", 434 - "EventName": "PM_DERAT_MISS_16M", 435 - "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 16M" 436 446 }, 437 447 {, 438 448 "EventCode": "0x2D14E",
-5
tools/perf/pmu-events/arch/powerpc/power9/pmc.json
··· 10 10 "BriefDescription": "Local memory above threshold for LSU medium" 11 11 }, 12 12 {, 13 - "EventCode": "0x2C056", 14 - "EventName": "PM_DTLB_MISS_4K", 15 - "BriefDescription": "Data TLB Miss page size 4k" 16 - }, 17 - {, 18 13 "EventCode": "0x40118", 19 14 "EventName": "PM_MRK_DCACHE_RELOAD_INTV", 20 15 "BriefDescription": "Combined Intervention event"
+5 -5
tools/perf/pmu-events/arch/powerpc/power9/translation.json
··· 30 30 "BriefDescription": "Store finish count. Includes speculative activity" 31 31 }, 32 32 {, 33 - "EventCode": "0x44042", 34 - "EventName": "PM_INST_FROM_L3", 35 - "BriefDescription": "The processor's Instruction cache was reloaded from local core's L3 due to an instruction fetch (not prefetch)" 36 - }, 37 - {, 38 33 "EventCode": "0x1504A", 39 34 "EventName": "PM_IPTEG_FROM_RL2L3_SHR", 40 35 "BriefDescription": "A Page Table Entry was loaded into the TLB with Shared (S) data from another chip's L2 or L3 on the same Node or Group (Remote), as this chip due to a instruction side request" ··· 118 123 "EventCode": "0x4D010", 119 124 "EventName": "PM_PMC1_SAVED", 120 125 "BriefDescription": "PMC1 Rewind Value saved" 126 + }, 127 + {, 128 + "EventCode": "0x44042", 129 + "EventName": "PM_INST_FROM_L3", 130 + "BriefDescription": "The processor's Instruction cache was reloaded from local core's L3 due to an instruction fetch (not prefetch)" 121 131 }, 122 132 {, 123 133 "EventCode": "0x200FE",