Re: [PATCH 05/13] locking/qspinlock: be less clever with the preprocessor

From: Peter Zijlstra
Date: Tue Jul 05 2022 - 13:09:29 EST


On Tue, Jul 05, 2022 at 12:38:12AM +1000, Nicholas Piggin wrote:
> Stop qspinlock.c including itself and avoid most of the function
> renaming with the preprocessor.
>
> This is mostly done by having the common slowpath code take a 'bool
> paravirt' argument and adjusting code based on that.

What does code-gen do? Is it clever enough to constant fold the lot?

Should we be using __always_inline to ensure the compiler doesn't decide
against inlining because $raisin and then emitting extra condtionals?