On Mon, Oct 19, 2020 at 10:54:40AM +0200, Christophe Leroy wrote: > Le 19/10/2020 à 10:32, Segher Boessenkool a écrit : > >The kernel should just use __always_inline if that is what it *wants*; > >that is true here most likely. GCC could perhaps improve its heuristics > >so that it no longer thinks these functions are often too big for > >inlining (they *are* pretty big, but not after basic optimisations with > >constant integer arguments). > > Yes I guess __always_inline is to be added on functions like this defined > in headers for exactly that, and that's the purpose of this patch. > > However I find it odd that get_order() is outlined by GCC even in some > object files that don't use it at all, for instance in fs/pipe.o It is (arguably) too big too always inline if you do not consider that __builtin_constant_p will remove half of the function one way or another. Not sure if that is what happens here, but now we have a PR (thanks!) and we will find out. Segher