On Sat, 8 Feb 2025 10:53:38 -0800 Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > On Sat, 8 Feb 2025 at 07:14, David Laight <david.laight.linux@xxxxxxxxx> wrote: > > > > Since the function is 'hot enough' to worry about avoiding the > > overhead of copy_from_user() it must be worth forcing it to be > > inlined. > > Hmm. gcc certainly inlines this one for me regardless. > > So it's either a gcc version issue (I have gcc-14.2.1), or it's some > build configuration thing that makes the function big enough in your > case that gcc decides not to inline things. Do you perhaps have some > debugging options enabled? At that point, inlining is the least of all > problems. gcc 12.2.0 (from debian) - so not THAT old. clang 18 does inline it. I've turned off pretty much everything (except page table separation). And there isn't much unexpected in the object code. Can the 'alternatives' be flipped so the .o doesn't contain loads of nops? It'd be nice to see the clac and lfence. David