/linux/tools/perf/pmu-events/arch/arm64/arm/cortex-a510/ |
H A D | branch.json | 18 …ional branch executed. This event counts when any branch that the conditional predictor can predic… 21 …ional branch executed. This event counts when any branch that the conditional predictor can predic… 24 …branch mispredicted. This event counts when any indirect branch that the Branch Target Address Cac… 27 …branch mispredicted. This event counts when any indirect branch that the Branch Target Address Cac… 30 …branch mispredicted due to address miscompare. This event counts when any indirect branch that the… 33 …branch mispredicted due to address miscompare. This event counts when any indirect branch that the… 36 …branch mispredicted. This event counts when any branch that the conditional predictor can predict … 39 …branch mispredicted. This event counts when any branch that the conditional predictor can predict … 42 …branch with predicted address executed. This event counts when any indirect branch that the BTAC c… 45 …branch with predicted address executed. This event counts when any indirect branch that the BTAC c… [all …]
|
/linux/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/ |
H A D | branch.json | 18 "PublicDescription": "Instruction architecturally executed, branch not taken", 21 "BriefDescription": "Instruction architecturally executed, branch not taken" 24 "PublicDescription": "Instruction architecturally executed, immediate branch taken", 27 "BriefDescription": "Instruction architecturally executed, immediate branch taken" 30 …"PublicDescription": "Instruction architecturally executed, indirect branch excluding return retir… 33 …"BriefDescription": "Instruction architecturally executed, indirect branch excluding return retire… 36 "PublicDescription": "Instruction architecturally executed, predicted immediate branch", 39 "BriefDescription": "Instruction architecturally executed, predicted immediate branch" 42 "PublicDescription": "Instruction architecturally executed, mispredicted immediate branch", 45 "BriefDescription": "Instruction architecturally executed, mispredicted immediate branch" [all …]
|
H A D | core-imp-def.json | 15 "PublicDescription": "Predictable branch speculatively executed that hit any level of BTB", 18 "BriefDescription": "Predictable branch speculatively executed that hit any level of BTB" 21 …"PublicDescription": "Predictable conditional branch speculatively executed that hit any level of … 24 …"BriefDescription": "Predictable conditional branch speculatively executed that hit any level of B… 27 …"PublicDescription": "Predictable taken branch speculatively executed that hit any level of BTB th… 30 …"BriefDescription": "Predictable taken branch speculatively executed that hit any level of BTB tha… 33 …"PublicDescription": "Predictable taken branch speculatively executed that hit any level of BTB th… 36 …"BriefDescription": "Predictable taken branch speculatively executed that hit any level of BTB tha… 39 …"PublicDescription": "Predictable unconditional branch speculatively executed that did not hit any… 42 …"BriefDescription": "Predictable unconditional branch speculatively executed that did not hit any … [all …]
|
/linux/tools/perf/pmu-events/arch/x86/silvermont/ |
H A D | pipeline.json | 3 "BriefDescription": "Counts the number of branch instructions retired...", 8 …branch instructions retired. Branch prediction predicts the branch target and enables the process… 12 "BriefDescription": "Counts the number of taken branch instructions retired", 17 …branch instructions retired. Branch prediction predicts the branch target and enables the process… 22 "BriefDescription": "Counts the number of near CALL branch instructions retired", 27 …branch instructions retired. Branch prediction predicts the branch target and enables the process… 32 "BriefDescription": "Counts the number of far branch instructions retired", 37 …branch instructions retired. Branch prediction predicts the branch target and enables the process… 42 "BriefDescription": "Counts the number of near indirect CALL branch instructions retired", 47 …branch instructions retired. Branch prediction predicts the branch target and enables the process… [all …]
|
/linux/tools/perf/pmu-events/arch/arm64/arm/cortex-a55/ |
H A D | branch.json | 18 …l branch executed.This event counts when any branch which can be predicted by the conditional pred… 21 …l branch executed.This event counts when any branch which can be predicted by the conditional pred… 24 …branch mis-predicted.This event counts when any indirect branch which can be predicted by the BTAC… 27 …branch mis-predicted.This event counts when any indirect branch which can be predicted by the BTAC… 30 …branch mis-predicted due to address mis-compare.This event counts when any indirect branch which c… 33 …branch mis-predicted due to address mis-compare.This event counts when any indirect branch which c… 36 …branch mis-predicted.This event counts when any branch which can be predicted by the conditional p… 39 …branch mis-predicted.This event counts when any branch which can be predicted by the conditional p… 42 …branch with predicted address executed.This event counts when any indirect branch which can be pre… 45 …branch with predicted address executed.This event counts when any indirect branch which can be pre… [all …]
|
/linux/tools/perf/pmu-events/arch/x86/amdzen4/ |
H A D | branch.json | 5 "BriefDescription": "L2 branch prediction overrides existing prediction (speculative)." 10 …"BriefDescription": "Dynamic indirect predictions (branch used the indirect predictor to make a pr… 15 …"BriefDescription": "Instruction decoder corrects the predicted target and resteers the branch pre… 20 …"BriefDescription": "Retired branch instructions (all types of architectural control flow changes,… 25 "BriefDescription": "Retired branch instructions mispredicted." 30 …"BriefDescription": "Retired taken branch instructions (all types of architectural control flow ch… 35 "BriefDescription": "Retired taken branch instructions mispredicted." 40 …SRET, plus exceptions and interrupts). Far control transfers are not subject to branch prediction." 50 …cted. Each misprediction incurs the same penalty as a mispredicted conditional branch instruction." 55 …indirect branch instructions mispredicted (only EX mispredicts). Each misprediction incurs the sam… [all …]
|
/linux/tools/perf/util/intel-pt-decoder/ |
H A D | intel-pt-insn-decoder.c | 29 enum intel_pt_insn_branch branch = INTEL_PT_BR_NO_BRANCH; in intel_pt_insn_decoder() local 37 intel_pt_insn->branch = INTEL_PT_BR_NO_BRANCH; in intel_pt_insn_decoder() 50 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 56 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 60 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 73 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 78 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 82 branch = INTEL_PT_BR_CONDITIONAL; in intel_pt_insn_decoder() 90 branch = INTEL_PT_BR_CONDITIONAL; in intel_pt_insn_decoder() 95 /* jmpabs causes a TIP packet like an indirect branch */ in intel_pt_insn_decoder() [all …]
|
/linux/tools/perf/pmu-events/arch/x86/amdzen3/ |
H A D | core.json | 16 "BriefDescription": "Retired Branch Instructions.", 17 …"PublicDescription": "The number of branch instructions retired. This includes all types of archit… 22 "BriefDescription": "Retired Branch Instructions Mispredicted.", 23 "PublicDescription": "The number of retired branch instructions, that were mispredicted." 28 "BriefDescription": "Retired Taken Branch Instructions.", 34 "BriefDescription": "Retired Taken Branch Instructions Mispredicted.", 35 "PublicDescription": "The number of retired taken branch instructions that were mispredicted." 41 …YSRET, plus exceptions and interrupts. Far control transfers are not subject to branch prediction." 46 "BriefDescription": "Retired Branch Resyncs.", 47 …ng other things. Each occurrence reflects a restart penalty similar to a branch mispredict. This i… [all …]
|
/linux/tools/perf/pmu-events/arch/x86/elkhartlake/ |
H A D | pipeline.json | 3 …"BriefDescription": "Counts the total number of branch instructions retired for all branch types.", 8 … the processor is resteered due to a branch instruction and the branch instruction successfully re… 12 "BriefDescription": "Counts the number of near CALL branch instructions retired.", 17 …"PublicDescription": "Counts the number of near CALL branch instructions retired. Available PDIST … 22 …"BriefDescription": "Counts the number of far branch instructions retired, includes far jump, far … 27 …"PublicDescription": "Counts the number of far branch instructions retired, includes far jump, far… 32 "BriefDescription": "Counts the number of near indirect CALL branch instructions retired.", 37 …"PublicDescription": "Counts the number of near indirect CALL branch instructions retired. Availab… 42 …"BriefDescription": "Counts the number of retired JCC (Jump on Conditional Code) branch instructio… 47 …"PublicDescription": "Counts the number of retired JCC (Jump on Conditional Code) branch instructi… [all …]
|
/linux/tools/perf/pmu-events/arch/x86/snowridgex/ |
H A D | pipeline.json | 3 …"BriefDescription": "Counts the total number of branch instructions retired for all branch types.", 8 … the processor is resteered due to a branch instruction and the branch instruction successfully re… 12 "BriefDescription": "Counts the number of near CALL branch instructions retired.", 17 …"PublicDescription": "Counts the number of near CALL branch instructions retired. Available PDIST … 22 …"BriefDescription": "Counts the number of far branch instructions retired, includes far jump, far … 27 …"PublicDescription": "Counts the number of far branch instructions retired, includes far jump, far… 32 "BriefDescription": "Counts the number of near indirect CALL branch instructions retired.", 37 …"PublicDescription": "Counts the number of near indirect CALL branch instructions retired. Availab… 42 …"BriefDescription": "Counts the number of retired JCC (Jump on Conditional Code) branch instructio… 47 …"PublicDescription": "Counts the number of retired JCC (Jump on Conditional Code) branch instructi… [all …]
|
/linux/tools/perf/pmu-events/arch/x86/amdzen2/ |
H A D | core.json | 16 "BriefDescription": "Retired Branch Instructions.", 17 …"PublicDescription": "The number of branch instructions retired. This includes all types of archit… 22 "BriefDescription": "Retired Branch Instructions Mispredicted.", 23 …"PublicDescription": "The number of branch instructions retired, of any type, that were not correc… 28 "BriefDescription": "Retired Taken Branch Instructions.", 34 "BriefDescription": "Retired Taken Branch Instructions Mispredicted.", 35 "PublicDescription": "The number of retired taken branch instructions that were mispredicted." 41 …YSRET, plus exceptions and interrupts. Far control transfers are not subject to branch prediction." 46 "BriefDescription": "Retired Branch Resyncs.", 47 …ng other things. Each occurrence reflects a restart penalty similar to a branch mispredict. This i… [all …]
|
/linux/tools/perf/tests/shell/ |
H A D | test_brstack.sh | 2 # Check branch stack sampling 11 # skip the test if the hardware doesn't support branch stack sampling 13 if ! perf record -o- --no-buildid --branch-filter any,save_type,u -- true > /dev/null 2>&1 ; then 38 echo "Testing user branch stack sampling" 40 …perf record -o "$TMPDIR/perf.data" --branch-filter any,save_type,u -- ${TESTPROG} > "$TMPDIR/recor… 43 # example of branch entries: 64 # some branch types are still not being tested: 68 # first argument <arg0> is the argument passed to "--branch-stack <arg0>,save_type,u" 69 # second argument are the expected branch types for the given filter 74 echo "Testing branch stack filtering permutation ($test_filter_filter,$test_filter_expect)" [all …]
|
/linux/tools/perf/pmu-events/arch/x86/amdzen1/ |
H A D | core.json | 16 "BriefDescription": "Retired Branch Instructions.", 17 …"PublicDescription": "The number of branch instructions retired. This includes all types of archit… 22 "BriefDescription": "Retired Branch Instructions Mispredicted.", 23 …"PublicDescription": "The number of branch instructions retired, of any type, that were not correc… 28 "BriefDescription": "Retired Taken Branch Instructions.", 34 "BriefDescription": "Retired Taken Branch Instructions Mispredicted.", 35 "PublicDescription": "The number of retired taken branch instructions that were mispredicted." 41 …YSRET, plus exceptions and interrupts. Far control transfers are not subject to branch prediction." 46 "BriefDescription": "Retired Branch Resyncs.", 47 …ng other things. Each occurrence reflects a restart penalty similar to a branch mispredict. This i… [all …]
|
/linux/Documentation/staging/ |
H A D | static-keys.rst | 48 The static_branch_unlikely() branch will be generated into the code with as little 56 Currently, tracepoints are implemented using a conditional branch. The 78 the branch site to change the branch direction. 80 For example, if we have a simple branch that is disabled by default:: 83 printk("I am the true branch\n"); 87 straight-line code path. When the branch is 'flipped', we will patch the 89 out-of-line true branch. Thus, changing branch direction is expensive but 90 branch selection is basically 'free'. That is the basic tradeoff of this 130 Branch(es) can be set true via:: 138 The branch(es) can then be switched via reference counts:: [all …]
|
/linux/Documentation/admin-guide/hw-vuln/ |
H A D | rsb.rst | 81 command on the same logical processor. The term indirect branch 135 AMD RETBleed / SRSO / Branch Type Confusion 141 protects itself by replacing every RET in the kernel with a branch to a 155 to mismatched CALLs/RETs or returning from a deep call stack, the branch 156 predictor can fall back to using the Branch Target Buffer (BTB). If a 157 user forces a BTB collision then the RET can speculatively branch to a 168 * "The indirect branch predictor barrier (IBPB) is an indirect branch 199 * "Restricted RSB Alternate (RRSBA) behavior allows alternate branch 203 indirect branch predictor entries of the current prediction domain. 206 When a CPU with RRSBA is vulnerable to Branch History Injection [all …]
|
/linux/tools/perf/pmu-events/arch/arm64/ampere/ampereone/ |
H A D | core-imp-def.json | 15 "PublicDescription": "Predictable branch speculatively executed that hit any level of BTB", 18 "BriefDescription": "Predictable branch speculatively executed that hit any level of BTB" 21 …"PublicDescription": "Predictable conditional branch speculatively executed that hit any level of … 24 …"BriefDescription": "Predictable conditional branch speculatively executed that hit any level of B… 27 …"PublicDescription": "Predictable taken branch speculatively executed that hit any level of BTB th… 30 …"BriefDescription": "Predictable taken branch speculatively executed that hit any level of BTB tha… 33 …"PublicDescription": "Predictable taken branch speculatively executed that hit any level of BTB th… 36 …"BriefDescription": "Predictable taken branch speculatively executed that hit any level of BTB tha… 39 …"PublicDescription": "Predictable unconditional branch speculatively executed that did not hit any… 42 …"BriefDescription": "Predictable unconditional branch speculatively executed that did not hit any … [all …]
|
/linux/tools/perf/pmu-events/arch/x86/arrowlake/ |
H A D | pipeline.json | 64 …"BriefDescription": "Counts the total number of branch instructions retired for all branch types.", 68 … the processor is resteered due to a branch instruction and the branch instruction successfully re… 73 "BriefDescription": "All branch instructions retired.", 77 "PublicDescription": "Counts all branch instructions retired. Available PDIST counters: 0", 82 …"BriefDescription": "Counts the total number of branch instructions retired for all branch types.", 86 … the processor is resteered due to a branch instruction and the branch instruction successfully re… 91 …"BriefDescription": "Counts retired JCC (Jump on Conditional Code) branch instructions retired inc… 100 "BriefDescription": "Conditional branch instructions retired.", 104 …"PublicDescription": "Counts conditional branch instructions retired. Available PDIST counters: 0", 110 …"BriefDescription": "Counts the number of retired JCC (Jump on Conditional Code) branch instructio… [all …]
|
/linux/tools/perf/pmu-events/arch/x86/goldmont/ |
H A D | pipeline.json | 3 "BriefDescription": "Retired branch instructions (Precise event capable)", 8 …"PublicDescription": "Counts branch instructions retired for all branch types. This is an archite… 12 "BriefDescription": "Retired taken branch instructions (Precise event capable)", 17 "PublicDescription": "Counts the number of taken branch instructions retired.", 27 "PublicDescription": "Counts near CALL branch instructions retired.", 32 "BriefDescription": "Retired far branch instructions (Precise event capable)", 37 …"PublicDescription": "Counts far branch instructions retired. This includes far jump, far call an… 47 "PublicDescription": "Counts near indirect CALL branch instructions retired.", 52 "BriefDescription": "Retired conditional branch instructions (Precise event capable)", 57 … on Conditional Code/Jump if Condition is Met) branch instructions retired, including both when th… [all …]
|
/linux/tools/perf/pmu-events/arch/x86/goldmontplus/ |
H A D | pipeline.json | 3 "BriefDescription": "Retired branch instructions (Precise event capable)", 8 …"PublicDescription": "Counts branch instructions retired for all branch types. This is an archite… 12 "BriefDescription": "Retired taken branch instructions (Precise event capable)", 17 "PublicDescription": "Counts the number of taken branch instructions retired.", 27 "PublicDescription": "Counts near CALL branch instructions retired.", 32 "BriefDescription": "Retired far branch instructions (Precise event capable)", 37 …"PublicDescription": "Counts far branch instructions retired. This includes far jump, far call an… 47 "PublicDescription": "Counts near indirect CALL branch instructions retired.", 52 "BriefDescription": "Retired conditional branch instructions (Precise event capable)", 57 … on Conditional Code/Jump if Condition is Met) branch instructions retired, including both when th… [all …]
|
/linux/tools/perf/pmu-events/arch/x86/clearwaterforest/ |
H A D | pipeline.json | 3 …"BriefDescription": "Counts the total number of branch instructions retired for all branch types.", 7 … the processor is resteered due to a branch instruction and the branch instruction successfully re… 11 …Description": "Counts the total number of mispredicted branch instructions retired for all branch … 15 …branch instructions retired. All branch type instructions are accounted for. Prediction of the b…
|
/linux/include/linux/ |
H A D | jump_label.h | 33 * an "if (static_branch_unlikely(&key))" statement is an unconditional branch 38 * unconditional branch to the out-of-line true branch. Keys that are 42 * At runtime we can change the branch target by setting the key 44 * static_branch_disable(). If the direction of the branch is switched by 45 * these calls then we run-time modify the branch target via a 49 * to the out-of-line of true branch. 52 * the key or branch direction via static_branch_{inc,dec}. Thus, 56 * Since this relies on modifying code, the branch modifying functions 69 * simple conditional branch. 433 * Combine the right initial value (type) with the right branch order [all …]
|
/linux/drivers/perf/ |
H A D | arm_brbe.c | 3 * Branch Record Buffer Extension Driver. 22 * BRBTS_EL1 is currently not used for branch stack implementation 31 * BRBE buffer is arranged as multiple banks of 32 branch record 32 * entries each. An individual branch record in a given bank could 220 /* Ensure all branch records are invalidated after this point */ in brbe_invalidate() 269 * between setting BANK and accessing branch records. in select_brbe_bank() 287 * Generic perf branch filters supported on BRBE 289 * New branch filters need to be evaluated whether they could be supported on 290 * BRBE. This ensures that such branch filters would not just be accepted, to 323 * BRBE supports the following functional branch type filters while [all …]
|
/linux/tools/perf/pmu-events/arch/x86/lunarlake/ |
H A D | pipeline.json | 100 …"BriefDescription": "Counts the total number of branch instructions retired for all branch types.", 104 … the processor is resteered due to a branch instruction and the branch instruction successfully re… 109 "BriefDescription": "All branch instructions retired.", 113 "PublicDescription": "Counts all branch instructions retired. Available PDIST counters: 0", 118 …"BriefDescription": "Counts retired JCC (Jump on Conditional Code) branch instructions retired inc… 127 "BriefDescription": "Conditional branch instructions retired.", 131 …"PublicDescription": "Counts conditional branch instructions retired. Available PDIST counters: 0", 137 "BriefDescription": "Counts the number of not taken JCC branch instructions retired", 146 "BriefDescription": "Not taken branch instructions retired.", 150 … "PublicDescription": "Counts not taken branch instructions retired. Available PDIST counters: 0", [all …]
|
/linux/tools/perf/pmu-events/arch/x86/meteorlake/ |
H A D | pipeline.json | 45 …"BriefDescription": "Counts the total number of branch instructions retired for all branch types.", 49 … the processor is resteered due to a branch instruction and the branch instruction successfully re… 54 "BriefDescription": "All branch instructions retired.", 58 "PublicDescription": "Counts all branch instructions retired. Available PDIST counters: 0", 63 …"BriefDescription": "Counts the number of retired JCC (Jump on Conditional Code) branch instructio… 72 "BriefDescription": "Conditional branch instructions retired.", 76 …"PublicDescription": "Counts conditional branch instructions retired. Available PDIST counters: 0", 82 "BriefDescription": "Not taken branch instructions retired.", 86 … "PublicDescription": "Counts not taken branch instructions retired. Available PDIST counters: 0", 92 …"BriefDescription": "Counts the number of taken JCC (Jump on Conditional Code) branch instructions… [all …]
|
/linux/tools/perf/pmu-events/arch/x86/sierraforest/ |
H A D | pipeline.json | 12 …"BriefDescription": "Counts the total number of branch instructions retired for all branch types.", 17 … the processor is resteered due to a branch instruction and the branch instruction successfully re… 21 …"BriefDescription": "Counts the number of retired JCC (Jump on Conditional Code) branch instructio… 30 …"BriefDescription": "Counts the number of taken JCC (Jump on Conditional Code) branch instructions… 38 …"BriefDescription": "Counts the number of far branch instructions retired, includes far jump, far … 47 …"BriefDescription": "Counts the number of near indirect JMP and near indirect CALL branch instruct… 56 "BriefDescription": "Counts the number of near indirect CALL branch instructions retired.", 65 "BriefDescription": "Counts the number of near indirect JMP branch instructions retired.", 83 "BriefDescription": "Counts the number of near CALL branch instructions retired.", 92 "BriefDescription": "Counts the number of near RET branch instructions retired.", [all …]
|