Lines Matching full: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
130 Branch(es) can be set true via::
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