lkml.org 
[lkml]   [2019]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING
    On Wed, Mar 20, 2019 at 03:20:27PM +0900, Masahiro Yamada 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

    Well, this will change, since now people (have to) start adding
    __always_inline annotations on all architectures, most likely until
    all have about the same amount of annotations like x86. This will
    reduce the benefit.

    Not sure if it's really a win that we get the inline vs
    __always_inline discussion now on all architectures.

    \
     
     \ /
      Last update: 2019-03-21 09:02    [W:4.141 / U:0.224 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site