Lines Matching refs:branch
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
138 The branch(es) can then be switched via reference counts::
144 Thus, 'static_branch_inc()' means 'make the branch true', and
145 'static_branch_dec()' means 'make the branch false' with appropriate
147 static_branch_dec(), will switch the branch to false. And a subsequent
148 static_branch_inc(), will change the branch back to true. Likewise, if the
149 key is initialized false, a 'static_branch_inc()', will change the branch to
150 true. And then a 'static_branch_dec()', will again make the branch false.
195 * ``__always_inline bool arch_static_branch(struct static_key *key, bool branch)``,
198 * ``__always_inline bool arch_static_branch_jump(struct static_key *key, bool branch)``,
211 As an example, let's add the following branch to 'getppid()', such that the
219 + printk("I am the true branch\n");
283 really can be a 2-byte no-op since we can reach the branch with a 2-byte jmp.
304 5,569,188 branch-misses # 2.67% of all branches ( +- 0.54% )
321 4,884,119 branch-misses # 2.36% of all branches ( +- 0.85% )
326 'branch-misses'. This is where we would expect to get the most savings, since