Lines Matching refs:branch
27 The static_key_false() branch will be generated into the code with as little
34 Currently, tracepoints are implemented using a conditional branch. The
55 the branch site to change the branch direction.
57 For example, if we have a simple branch that is disabled by default:
60 printk("I am the true branch\n");
64 straight-line code path. When the branch is 'flipped', we will patch the
66 out-of-line true branch. Thus, changing branch direction is expensive but
67 branch selection is basically 'free'. That is the basic tradeoff of this
112 The branch(es) can then be switched via:
118 Thus, 'static_key_slow_inc()' means 'make the branch true', and
119 'static_key_slow_dec()' means 'make the branch false' with appropriate
121 static_key_slow_dec(), will switch the branch to false. And a subsequent
122 static_key_slow_inc(), will change the branch back to true. Likewise, if the
123 key is initialized false, a 'static_key_slow_inc()', will change the branch to
124 true. And then a 'static_key_slow_dec()', will again make the branch false.
169 As an example, let's add the following branch to 'getppid()', such that the
177 + printk("I am the true branch\n");
241 really can be a 2-byte no-op since we can reach the branch with a 2-byte jmp.
262 5,569,188 branch-misses # 2.67% of all branches ( +- 0.54% )
279 4,884,119 branch-misses # 2.36% of all branches ( +- 0.85% )
284 'branch-misses'. This is where we would expect to get the most savings, since