On Wed, 2022-10-05 at 17:55 +0000, Christophe Leroy wrote:
I'm on business trip this week so I can't test it on hardware, but
the
generated code looks horrid and sub-optimal, with a stack frame and
so
many registers saved into it. That's mpc885_ads_defconfig built with
GCC
12, without modules without stackprotector with 4k pages.
Yeah, that definitely wasn't supposed to happen. I was looking at the
32 and 64 bit machine code closely while actively writing it, but I
must have refactored it badly when cleaning up for submission. It was
supposed to automatically be inlined, leaving it identical to the
original on 32-bit.
Given inlining is desirable here, and 64-bit inlines anyway, I think I
should just mark __patch_memory with __always_inline.