Re: [PATCH] timer: Use static_branch_likely() for timers_nohz_active

From: Jisheng Zhang
Date: Tue Jun 22 2021 - 23:17:20 EST


Hi Thomas,

On Tue, 22 Jun 2021 17:19:20 +0200
Thomas Gleixner <tglx@xxxxxxxxxxxxx> 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