NOHZ is likely to be enabled, so use static_branch_likely() to
reflect this fact. This could improve the finally generated code
a bit for the most likely scenario, I.E save two "jmp" instructions.
Signed-off-by: Jisheng Zhang <[email protected]>
---
kernel/time/timer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index d111adf4a0cb..40d4fe7fa207 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -265,7 +265,7 @@ int timer_migration_handler(struct ctl_table *table, int write,
static inline bool is_timers_nohz_active(void)
{
- return static_branch_unlikely(&timers_nohz_active);
+ return static_branch_likely(&timers_nohz_active);
}
#else
static inline bool is_timers_nohz_active(void) { return false; }
--
2.31.0
On Thu, May 13 2021 at 14:33, Jisheng Zhang wrote:
> NOHZ is likely to be enabled, so use static_branch_likely() to
Why is it likely to be enabled? Did you make a survey of the wider
distro universe or what?
> reflect this fact. This could improve the finally generated code
could improve? Either it does or it does not.
Thanks,
tglx
Hi Thomas,
On Tue, 22 Jun 2021 17:19:20 +0200
Thomas Gleixner <[email protected]> wrote:
>
> On Thu, May 13 2021 at 14:33, Jisheng Zhang wrote:
> > NOHZ is likely to be enabled, so use static_branch_likely() to
>
> Why is it likely to be enabled? Did you make a survey of the wider
> distro universe or what?
No, I didn't make any survey. I only checked debian and ubuntu kernel
image config file, both have CONFIG_NO_HZ_COMMON=y
So IMHO, if CONFIG_NO_HZ_COMMON=y, the static key timers_nohz_active is
true in most cases.
>
> > reflect this fact. This could improve the finally generated code
>
> could improve? Either it does or it does not.
Per include/linux/jump_label.h, if the timers_nohz_active is true,
it can save two jmp instructions.
* type\branch| likely (1) | unlikely (0)
* -----------+-----------------------+------------------
* | |
* true (1) | ... | ...
* | NOP | JMP L
* | <br-stmts> | 1: ...
* | L: ... |
* | |
* | | L: <br-stmts>
* | | jmp 1b
Thanks
On Tue, 22 Jun 2021 17:19:20 +0200
Thomas Gleixner <[email protected]> wrote:
>
>
> On Thu, May 13 2021 at 14:33, Jisheng Zhang wrote:
> > NOHZ is likely to be enabled, so use static_branch_likely() to
>
> Why is it likely to be enabled? Did you make a survey of the wider
> distro universe or what?
One more thought: maybe NOHZ is confusing, what I mean here is:
timers_nohz_active is likely to be true.
If I update the commit msg as the following, is it acceptable?
"timers_nohz_active is likely to be true, so use static_branch_likely() to
reflect this fact. This could improve the finally generated code
a bit for the most likely scenario, I.E save two "jmp" instructions."
Thanks
>
> > reflect this fact. This could improve the finally generated code
>
> could improve? Either it does or it does not.
>
> Thanks,
>
> tglx