Messages in this thread | | | From | Zhouyi Zhou <> | Date | Wed, 24 Aug 2022 09:25:45 +0800 | Subject | Re: [PATCH linux-next] powerpc: disable sanitizer in irq_soft_mask_set |
| |
On Wed, Aug 24, 2022 at 12:50 AM Christophe Leroy <christophe.leroy@csgroup.eu> wrote: > > > > Le 23/08/2022 à 10:47, Christophe Leroy a écrit : > > > > > > Le 23/08/2022 à 10:33, Michael Ellerman a écrit : > >> Zhouyi Zhou <zhouzhouyi@gmail.com> writes: > >> > >> My worry is that this will force irq_soft_mask_set() out of line, which > >> we would rather avoid. It's meant to be a fast path. > >> > >> In fact with this applied I see nearly 300 out-of-line copies of the > >> function when building a defconfig, and ~1700 calls to it. > >> > >> Normally it is inlined at every call site. > >> > >> > >> So I think I'm inclined to revert ef5b570d3700 ("powerpc/irq: Don't open > >> code irq_soft_mask helpers"). > > > > Could you revert it only partially ? In extenso, revert the > > READ/WRITE_ONCE and bring back the inline asm in irq_soft_mask_return() > > and irq_soft_mask_set(), but keep other changes. > > I sent a patch doing that. Thank Christophe for the fix. I am very glad to be of benefit to the community ;-) Also thank Michael and Paul for your constant encouragement and guidance, I learned to use objdump to count the number of failed inline function calls today ;-)
By the way, from my experiments, both gcc-11 and clang-14 behave the same as Michael has described.
Cheers Zhouyi > > Christophe
| |