All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	linux-s390 <linux-s390@vger.kernel.org>,
	Dave Hansen <dave@sr71.net>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"the arch/x86 maintainers" <x86@kernel.org>,
	linux-mips@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Paul Burton <paul.burton@mips.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-mtd <linux-mtd@lists.infradead.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING
Date: Wed, 20 Mar 2019 10:41:43 +0100	[thread overview]
Message-ID: <CAK8P3a3BG_mxYxxCx4S_+ZKAer_+5FpmkzLk0VrACZekuD=2GQ@mail.gmail.com> (raw)
In-Reply-To: <1553062828-27798-1-git-send-email-yamada.masahiro@socionext.com>

On Wed, Mar 20, 2019 at 7:21 AM Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
>
> Commit 60a3cdd06394 ("x86: add optimized inlining") introduced
> CONFIG_OPTIMIZE_INLINING, but it has been available only for x86.
>
> The idea is obviously arch-agnostic although we need some code fixups.
> This commit moves the config entry from arch/x86/Kconfig.debug to
> lib/Kconfig.debug so that all architectures (except MIPS for now) can
> benefit from it.
>
> At this moment, I added "depends on !MIPS" because fixing 0day bot reports
> for MIPS was complex to me.
>
> I tested this patch on my arm/arm64 boards.
>
> This can make a huge difference in kernel image size especially when
> CONFIG_OPTIMIZE_FOR_SIZE is enabled.
>
> For example, I got 3.5% smaller arm64 kernel image for v5.1-rc1.
>
>   dec       file
>   18983424  arch/arm64/boot/Image.before
>   18321920  arch/arm64/boot/Image.after
>
> This also slightly improves the "Kernel hacking" Kconfig menu.
> Commit e61aca5158a8 ("Merge branch 'kconfig-diet' from Dave Hansen')
> mentioned this config option would be a good fit in the "compiler option"
> menu. I did so.

I think this is a good idea in general, but it is likely to cause a lot of
new warnings. Especially the -Wmaybe-uninitialized warnings get
new false positives every time we get substantially different inlining
decisions.

I've added your patch to my randconfig test setup and will let you
know if I see anything noticeable. I'm currently testing clang-arm32,
clang-arm64 and gcc-x86.

      Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: linux-arch <linux-arch@vger.kernel.org>,
	linux-s390 <linux-s390@vger.kernel.org>,
	Dave Hansen <dave@sr71.net>,
	the arch/x86 maintainers <x86@kernel.org>,
	linux-mips@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Paul Burton <paul.burton@mips.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-mtd <linux-mtd@lists.infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING
Date: Wed, 20 Mar 2019 10:41:43 +0100	[thread overview]
Message-ID: <CAK8P3a3BG_mxYxxCx4S_+ZKAer_+5FpmkzLk0VrACZekuD=2GQ@mail.gmail.com> (raw)
In-Reply-To: <1553062828-27798-1-git-send-email-yamada.masahiro@socionext.com>

On Wed, Mar 20, 2019 at 7:21 AM Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
>
> Commit 60a3cdd06394 ("x86: add optimized inlining") introduced
> CONFIG_OPTIMIZE_INLINING, but it has been available only for x86.
>
> The idea is obviously arch-agnostic although we need some code fixups.
> This commit moves the config entry from arch/x86/Kconfig.debug to
> lib/Kconfig.debug so that all architectures (except MIPS for now) can
> benefit from it.
>
> At this moment, I added "depends on !MIPS" because fixing 0day bot reports
> for MIPS was complex to me.
>
> I tested this patch on my arm/arm64 boards.
>
> This can make a huge difference in kernel image size especially when
> CONFIG_OPTIMIZE_FOR_SIZE is enabled.
>
> For example, I got 3.5% smaller arm64 kernel image for v5.1-rc1.
>
>   dec       file
>   18983424  arch/arm64/boot/Image.before
>   18321920  arch/arm64/boot/Image.after
>
> This also slightly improves the "Kernel hacking" Kconfig menu.
> Commit e61aca5158a8 ("Merge branch 'kconfig-diet' from Dave Hansen')
> mentioned this config option would be a good fit in the "compiler option"
> menu. I did so.

I think this is a good idea in general, but it is likely to cause a lot of
new warnings. Especially the -Wmaybe-uninitialized warnings get
new false positives every time we get substantially different inlining
decisions.

I've added your patch to my randconfig test setup and will let you
know if I see anything noticeable. I'm currently testing clang-arm32,
clang-arm64 and gcc-x86.

      Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: linux-arch <linux-arch@vger.kernel.org>,
	linux-s390 <linux-s390@vger.kernel.org>,
	Dave Hansen <dave@sr71.net>,
	Michael Ellerman <mpe@ellerman.id.au>,
	the arch/x86 maintainers <x86@kernel.org>,
	linux-mips@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Paul Burton <paul.burton@mips.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-mtd <linux-mtd@lists.infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING
Date: Wed, 20 Mar 2019 10:41:43 +0100	[thread overview]
Message-ID: <CAK8P3a3BG_mxYxxCx4S_+ZKAer_+5FpmkzLk0VrACZekuD=2GQ@mail.gmail.com> (raw)
In-Reply-To: <1553062828-27798-1-git-send-email-yamada.masahiro@socionext.com>

On Wed, Mar 20, 2019 at 7:21 AM Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
>
> Commit 60a3cdd06394 ("x86: add optimized inlining") introduced
> CONFIG_OPTIMIZE_INLINING, but it has been available only for x86.
>
> The idea is obviously arch-agnostic although we need some code fixups.
> This commit moves the config entry from arch/x86/Kconfig.debug to
> lib/Kconfig.debug so that all architectures (except MIPS for now) can
> benefit from it.
>
> At this moment, I added "depends on !MIPS" because fixing 0day bot reports
> for MIPS was complex to me.
>
> I tested this patch on my arm/arm64 boards.
>
> This can make a huge difference in kernel image size especially when
> CONFIG_OPTIMIZE_FOR_SIZE is enabled.
>
> For example, I got 3.5% smaller arm64 kernel image for v5.1-rc1.
>
>   dec       file
>   18983424  arch/arm64/boot/Image.before
>   18321920  arch/arm64/boot/Image.after
>
> This also slightly improves the "Kernel hacking" Kconfig menu.
> Commit e61aca5158a8 ("Merge branch 'kconfig-diet' from Dave Hansen')
> mentioned this config option would be a good fit in the "compiler option"
> menu. I did so.

I think this is a good idea in general, but it is likely to cause a lot of
new warnings. Especially the -Wmaybe-uninitialized warnings get
new false positives every time we get substantially different inlining
decisions.

I've added your patch to my randconfig test setup and will let you
know if I see anything noticeable. I'm currently testing clang-arm32,
clang-arm64 and gcc-x86.

      Arnd

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: linux-arch <linux-arch@vger.kernel.org>,
	linux-s390 <linux-s390@vger.kernel.org>,
	Dave Hansen <dave@sr71.net>,
	Michael Ellerman <mpe@ellerman.id.au>,
	the arch/x86 maintainers <x86@kernel.org>,
	linux-mips@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Paul Burton <paul.burton@mips.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-mtd <linux-mtd@lists.infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING
Date: Wed, 20 Mar 2019 10:41:43 +0100	[thread overview]
Message-ID: <CAK8P3a3BG_mxYxxCx4S_+ZKAer_+5FpmkzLk0VrACZekuD=2GQ@mail.gmail.com> (raw)
In-Reply-To: <1553062828-27798-1-git-send-email-yamada.masahiro@socionext.com>

On Wed, Mar 20, 2019 at 7:21 AM Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
>
> Commit 60a3cdd06394 ("x86: add optimized inlining") introduced
> CONFIG_OPTIMIZE_INLINING, but it has been available only for x86.
>
> The idea is obviously arch-agnostic although we need some code fixups.
> This commit moves the config entry from arch/x86/Kconfig.debug to
> lib/Kconfig.debug so that all architectures (except MIPS for now) can
> benefit from it.
>
> At this moment, I added "depends on !MIPS" because fixing 0day bot reports
> for MIPS was complex to me.
>
> I tested this patch on my arm/arm64 boards.
>
> This can make a huge difference in kernel image size especially when
> CONFIG_OPTIMIZE_FOR_SIZE is enabled.
>
> For example, I got 3.5% smaller arm64 kernel image for v5.1-rc1.
>
>   dec       file
>   18983424  arch/arm64/boot/Image.before
>   18321920  arch/arm64/boot/Image.after
>
> This also slightly improves the "Kernel hacking" Kconfig menu.
> Commit e61aca5158a8 ("Merge branch 'kconfig-diet' from Dave Hansen')
> mentioned this config option would be a good fit in the "compiler option"
> menu. I did so.

I think this is a good idea in general, but it is likely to cause a lot of
new warnings. Especially the -Wmaybe-uninitialized warnings get
new false positives every time we get substantially different inlining
decisions.

I've added your patch to my randconfig test setup and will let you
know if I see anything noticeable. I'm currently testing clang-arm32,
clang-arm64 and gcc-x86.

      Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-03-20  9:42 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-20  6:20 [PATCH] compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING Masahiro Yamada
2019-03-20  6:20 ` Masahiro Yamada
2019-03-20  6:20 ` Masahiro Yamada
2019-03-20  6:20 ` Masahiro Yamada
2019-03-20  6:40 ` Masahiro Yamada
2019-03-20  6:40   ` Masahiro Yamada
2019-03-20  6:40   ` Masahiro Yamada
2019-03-20  6:40   ` Masahiro Yamada
2019-03-20  9:38   ` Arnd Bergmann
2019-03-20  9:38     ` Arnd Bergmann
2019-03-20  9:38     ` Arnd Bergmann
2019-03-20  9:38     ` Arnd Bergmann
2019-03-20 10:18     ` Masahiro Yamada
2019-03-20 10:18       ` Masahiro Yamada
2019-03-20 10:18       ` Masahiro Yamada
2019-03-20 10:18       ` Masahiro Yamada
2019-03-20 13:04       ` Arnd Bergmann
2019-03-20 13:04         ` Arnd Bergmann
2019-03-20 13:04         ` Arnd Bergmann
2019-03-20 13:04         ` Arnd Bergmann
2019-03-25  6:04         ` Masahiro Yamada
2019-03-25  6:04           ` Masahiro Yamada
2019-03-25  6:04           ` Masahiro Yamada
2019-03-25  6:04           ` Masahiro Yamada
2019-03-20  9:41 ` Arnd Bergmann [this message]
2019-03-20  9:41   ` Arnd Bergmann
2019-03-20  9:41   ` Arnd Bergmann
2019-03-20  9:41   ` Arnd Bergmann
2019-03-20 13:34   ` Arnd Bergmann
2019-03-20 13:34     ` Arnd Bergmann
2019-03-20 13:34     ` Arnd Bergmann
2019-03-20 13:34     ` Arnd Bergmann
2019-03-23  8:26     ` LEROY Christophe
2019-03-23  8:26       ` LEROY Christophe
2019-03-23  8:26       ` LEROY Christophe
2019-03-23  8:26       ` LEROY Christophe
2019-03-25  6:44       ` Masahiro Yamada
2019-03-25  6:44         ` Masahiro Yamada
2019-03-25  6:44         ` Masahiro Yamada
2019-03-25  6:44         ` Masahiro Yamada
2019-03-26  6:02         ` Christophe Leroy
2019-03-26  6:02           ` Christophe Leroy
2019-03-26  6:02           ` Christophe Leroy
2019-03-26  6:02           ` Christophe Leroy
2019-04-23  3:26           ` Masahiro Yamada
2019-04-23  3:26             ` Masahiro Yamada
2019-04-23  3:26             ` Masahiro Yamada
2019-03-25  6:10     ` Masahiro Yamada
2019-03-25  6:10       ` Masahiro Yamada
2019-03-25  6:10       ` Masahiro Yamada
2019-03-25  6:10       ` Masahiro Yamada
2019-03-25  6:12       ` Masahiro Yamada
2019-03-25  6:12         ` Masahiro Yamada
2019-03-25  6:12         ` Masahiro Yamada
2019-03-25  6:12         ` Masahiro Yamada
2019-03-25  7:32       ` Arnd Bergmann
2019-03-25  7:32         ` Arnd Bergmann
2019-03-25  7:32         ` Arnd Bergmann
2019-03-25  7:32         ` Arnd Bergmann
2019-03-25  7:54         ` Masahiro Yamada
2019-03-25  7:54           ` Masahiro Yamada
2019-03-25  7:54           ` Masahiro Yamada
2019-03-25  7:54           ` Masahiro Yamada
2019-03-25 10:25           ` Arnd Bergmann
2019-03-25 10:25             ` Arnd Bergmann
2019-03-25 10:25             ` Arnd Bergmann
2019-03-25 10:25             ` Arnd Bergmann
2019-03-25 10:27     ` Arnd Bergmann
2019-03-25 10:27       ` Arnd Bergmann
2019-03-25 10:27       ` Arnd Bergmann
2019-03-25 10:27       ` Arnd Bergmann
2019-03-21  8:01 ` Heiko Carstens
2019-03-21  8:01   ` Heiko Carstens
2019-03-21  8:01   ` Heiko Carstens
2019-03-21  8:01   ` Heiko Carstens
2019-03-25  6:41   ` Masahiro Yamada
2019-03-25  6:41     ` Masahiro Yamada
2019-03-25  6:41     ` Masahiro Yamada
2019-03-25  6:41     ` Masahiro Yamada
2019-03-23  8:37 ` LEROY Christophe
2019-03-23  8:37   ` LEROY Christophe
2019-03-23  8:37   ` LEROY Christophe
2019-03-23  8:37   ` LEROY Christophe
2019-04-18 13:20 ` Ingo Molnar
2019-04-18 13:20   ` Ingo Molnar
2019-04-18 13:20   ` Ingo Molnar
2019-04-18 13:20   ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAK8P3a3BG_mxYxxCx4S_+ZKAer_+5FpmkzLk0VrACZekuD=2GQ@mail.gmail.com' \
    --to=arnd@arndb.de \
    --cc=akpm@linux-foundation.org \
    --cc=dave@sr71.net \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=paul.burton@mips.com \
    --cc=x86@kernel.org \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.