[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.20.1707121331060.1959@knanqh.ubzr>
Date: Wed, 12 Jul 2017 13:34:46 -0400 (EDT)
From: Nicolas Pitre <nico@...xnic.net>
To: Andi Kleen <andi@...stfloor.org>
cc: npiggin@...il.com, linux-kernel@...r.kernel.org,
linux-kbuild@...r.kernel.org
Subject: Re: [RFC PATCH] x86: enable dead code and data elimination (LTO)
On Wed, 12 Jul 2017, Andi Kleen wrote:
> Nicholas Piggin <npiggin@...il.com> writes:
> >>
> >> I think we should aim for gc-sections to be used by default and have LTO
> >> as a possible option only.
> >
> > I agree after it starts getting implemented and debugged by small
> > system users, we could make it default in the interest of sharing
> > testing and reducing combinations.
>
> From what i understand the main drawback in the past was
> is that various linker versions become very slow with thousands of
> sections.
>
> So it may cost you built time. For a special small build it's probably
> ok, but you wouldn't want to make it default.
>
> Also usually it's only useful without modules because if you
> use modules EXPORT_SYMBOL pulls in a lot of unused functions.
I created CONFIG_TRIM_UNUSED_KSYMS mainly to avoid that issue. It is
highly effective with either gc-sections and LTO.
Nicolas
Powered by blists - more mailing lists