Re: static_branch/jump_label vs branch merging

From: Peter Zijlstra
Date: Fri Apr 09 2021 - 17:41:13 EST


On Fri, Apr 09, 2021 at 05:07:15PM -0400, David Malcolm wrote:

> You've built a very specific thing out of asm-goto to fulfil the tough
> requirements you outlined above - as well as the nops, there's a thing
> in another section to contend with.
>
> How to merge these asm-goto constructs?

By calling the function less, you emit less of them. Which then brings
us back to the whole pure/const thing.

> Doing so feels very special-case to the kernel and not something that
> other GCC users would find useful.

Doesn't it boil down to 'fixing' the pure/const vs asm-goto interaction?
I could imagine that having that interaction fixed could allow other
creative uses.