Re: [PATCH] Partially revert "compiler: enable CONFIG_OPTIMIZE_INLINING forcibly"

2019-10-01 Thread Will Deacon
On Tue, Oct 01, 2019 at 09:21:21AM -0700, Nick Desaulniers wrote: > > So you'd prefer I do something like the diff below? > > Yes, I find that diff preferable. Use __always_inline only when absolutely > necessary. Even then, it sounds like this is a workaround for one compiler, > so it should

Re: [PATCH] Partially revert "compiler: enable CONFIG_OPTIMIZE_INLINING forcibly"

2019-10-01 Thread Nick Desaulniers
> So you'd prefer I do something like the diff below? Yes, I find that diff preferable. Use __always_inline only when absolutely necessary. Even then, it sounds like this is a workaround for one compiler, so it should probably also have a comment. (I don't mind changing this for all compilers).

Re: [PATCH] Partially revert "compiler: enable CONFIG_OPTIMIZE_INLINING forcibly"

2019-10-01 Thread Andrew Murray
On Tue, Oct 01, 2019 at 04:48:14PM +0100, Russell King - ARM Linux admin wrote: > On Tue, Oct 01, 2019 at 04:28:27PM +0100, Andrew Murray wrote: > > I hadn't noticed the use of __OPTIMIZE__ - indeed if __compiletime_assert > > is no-op'd and you reach it then you won't have a build error - but you

Re: [PATCH] Partially revert "compiler: enable CONFIG_OPTIMIZE_INLINING forcibly"

2019-10-01 Thread Russell King - ARM Linux admin
On Tue, Oct 01, 2019 at 04:28:27PM +0100, Andrew Murray wrote: > I hadn't noticed the use of __OPTIMIZE__ - indeed if __compiletime_assert > is no-op'd and you reach it then you won't have a build error - but you > may get uninitialised values instead. > > Presumably the purpose of __OPTIMIZE__

Re: [PATCH] Partially revert "compiler: enable CONFIG_OPTIMIZE_INLINING forcibly"

2019-10-01 Thread Andrew Murray
On Tue, Oct 01, 2019 at 03:36:26PM +0100, Russell King - ARM Linux admin wrote: > On Tue, Oct 01, 2019 at 12:41:30PM +0100, Andrew Murray wrote: > > On Tue, Oct 01, 2019 at 11:42:54AM +0100, Will Deacon wrote: > > > On Tue, Oct 01, 2019 at 06:40:26PM +0900, Masahiro Yamada wrote: > > > > On Mon,

Re: [PATCH] Partially revert "compiler: enable CONFIG_OPTIMIZE_INLINING forcibly"

2019-10-01 Thread Russell King - ARM Linux admin
On Tue, Oct 01, 2019 at 12:41:30PM +0100, Andrew Murray wrote: > On Tue, Oct 01, 2019 at 11:42:54AM +0100, Will Deacon wrote: > > On Tue, Oct 01, 2019 at 06:40:26PM +0900, Masahiro Yamada wrote: > > > On Mon, Sep 30, 2019 at 8:45 PM Will Deacon wrote: > > > > diff --git a/lib/Kconfig.debug

Re: [PATCH] Partially revert "compiler: enable CONFIG_OPTIMIZE_INLINING forcibly"

2019-10-01 Thread Andrew Murray
On Tue, Oct 01, 2019 at 11:42:54AM +0100, Will Deacon wrote: > On Tue, Oct 01, 2019 at 06:40:26PM +0900, Masahiro Yamada wrote: > > On Mon, Sep 30, 2019 at 8:45 PM Will Deacon wrote: > > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > > > index 93d97f9b0157..c37c72adaeff 100644 > > > ---

Re: [PATCH] Partially revert "compiler: enable CONFIG_OPTIMIZE_INLINING forcibly"

2019-10-01 Thread Will Deacon
On Tue, Oct 01, 2019 at 06:40:26PM +0900, Masahiro Yamada wrote: > On Mon, Sep 30, 2019 at 8:45 PM Will Deacon wrote: > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > > index 93d97f9b0157..c37c72adaeff 100644 > > --- a/lib/Kconfig.debug > > +++ b/lib/Kconfig.debug > > @@ -312,6 +312,7 @@

Re: [PATCH] Partially revert "compiler: enable CONFIG_OPTIMIZE_INLINING forcibly"

2019-10-01 Thread Masahiro Yamada
On Mon, Sep 30, 2019 at 8:45 PM Will Deacon wrote: > > This reverts commit ac7c3e4ff401b304489a031938dbeaab585bfe0a for ARM and > arm64. > > Building an arm64 kernel with CONFIG_OPTIMIZE_INLINING=y has been shown > to violate fixed register allocations of local variables passed to > inline

[PATCH] Partially revert "compiler: enable CONFIG_OPTIMIZE_INLINING forcibly"

2019-09-30 Thread Will Deacon
This reverts commit ac7c3e4ff401b304489a031938dbeaab585bfe0a for ARM and arm64. Building an arm64 kernel with CONFIG_OPTIMIZE_INLINING=y has been shown to violate fixed register allocations of local variables passed to inline assembly with GCC prior to version 9 which can lead to subtle failures