Hi, Am 03.10.19 um 18:36 schrieb Will Deacon: > On Wed, Oct 02, 2019 at 01:39:40PM -0700, Linus Torvalds wrote: >> On Wed, Oct 2, 2019 at 5:56 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: >>>> Then use the C preprocessor to force the inlining. I'm sorry it's not >>>> as pretty as static inline functions. >>> Which makes us lose the baby^H^H^H^Htype checking performed >>> on function parameters, requiring to add more ugly checks. >> I'm 100% agreed on this. >> >> If the inline change is being pushed by people who say "you should >> have used macros instead if you wanted inlining", then I will just >> revert that stupid commit that is causing problems. >> >> No, the preprocessor is not the answer. >> >> That said, code that relies on inlining for _correctness_ should use >> "__always_inline" and possibly even have a comment about why. >> >> But I am considering just undoing commit 9012d011660e ("compiler: >> allow all arches to enable CONFIG_OPTIMIZE_INLINING") entirely. The >> advantages are questionable, and when the advantages are balanced >> against actual regressions and the arguments are "use macros", that >> just shows how badly thought out this was. > It's clear that opinions are divided on this issue, but you can add > an enthusiastic: > > Acked-by: Will Deacon <will@xxxxxxxxxx> > > if you go ahead with the revert. I'm all for allowing the compiler to > make its own inlining decisions, but not when the potential for > miscompilation isn't fully understood and the proposed alternatives turn > the source into an unreadable mess. Perhaps we can do something different > for 5.5 (arch opt-in? clang only? invert the logic? work to move functions > over to __always_inline /before/ flipping the CONFIG option? ...?) what's the status on this? In need to prepare my pull requests for 5.5 and all recent kernelci targets (including linux-next) with bcm2835_defconfig are still broken. Stefan > > Will