public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: Simon Glass <sjg@chromium.org>
Cc: u-boot@lists.denx.de
Subject: Re: [v4.1 2/2] CI, pytest: Add a test for sandbox without LTO
Date: Tue, 24 Oct 2023 18:01:55 -0400	[thread overview]
Message-ID: <20231024220155.GK496310@bill-the-cat> (raw)
In-Reply-To: <CAPnjgZ1FruS29HdQZutZptRRdTggUWoCf972h2w2mhma47awww@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2362 bytes --]

On Tue, Oct 24, 2023 at 02:39:49PM -0700, Simon Glass wrote:
> Hi Tom,
> 
> On Tue, 24 Oct 2023 at 11:07, Tom Rini <trini@konsulko.com> wrote:
> >
> > On Tue, Oct 24, 2023 at 11:02:06AM -0700, Simon Glass wrote:
> > > Hi Tom,
> > >
> > > On Mon, 23 Oct 2023 at 10:28, Tom Rini <trini@konsulko.com> wrote:
> > > >
> > > > On Mon, Oct 23, 2023 at 10:13:52AM -0700, Simon Glass wrote:
> > > >
> > > > [snip]
> > > > > BTW buildman supports -L which disabled LTO using the NO_LTO=1 option
> > > >
> > > > I worry about putting sandbox-specific flags in buildman.  Outside of
> > > > sandbox, targets that enable LTO require LTO, just like any other CONFIG
> > > > option.
> > >
> > > Some problems with LTO and why I don't normally develop with it enabled:
> > >
> > > - build time
> > > - code moves around all over the place so it is hard to compare size growth
> > >
> > > At least for my IDE flow, I use -L in most cases. Yes there are some
> > > boards which won't fit without LTO, but I don't see them much.
> > >
> > > So this is mostly a dev convenience / productivity tool.
> >
> > Yes, it does take longer to link.  And yes, a more complex optimization
> > does make some size tracking harder to understand (since growth or
> > shrinkage allows for different optimizations to be made around it). But
> > everything in configs/ that enables LTO needs LTO.
> 
> I thought we were planning to enable it for all of ARM, though?
> Clearly most of those boards don't *need* it.

Yes, closer to when it was introduced the ideal was to make it default,
because there are so many "on the edge" platforms, with respect to size
limits.  And, we could possibly make it default now and see what that
does to CI build times too.  But no, today, platforms opt-in for it
because they need it, and the most common need is because of size rather
than speed (or, speed gained through size reduction).

And also yes, that it does make size comparison trickier is another
reason I've not aggressively pushed for it globally.

But yes, I still don't think disabling LTO is a general feature, and only
sandbox has it architecture-wide enabled by default (for testing) and
that -L/--no-lto is not a good generic feature for buildman.

But I too don't wish to argue points around LTO nor gc-sections either
anymore.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

  reply	other threads:[~2023-10-24 22:02 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-19 15:00 [v4 01/24] buildman: Use oldconfig when adjusting the config Tom Rini
2023-10-19 15:00 ` [v4 02/24] virtio: Make VIRTIO_NET depend on NETDEVICES Tom Rini
2023-10-19 15:00 ` [v4 03/24] dfu: Make DFU_TFTP " Tom Rini
2023-10-19 15:00 ` [v4 04/24] version: Separate our version string from the version command Tom Rini
2023-10-19 15:00 ` [v4 05/24] qemu: Correct CMD_QFW dependencies in Kconfig Tom Rini
2023-10-19 15:00 ` [v4 06/24] Kconfig: Move CONFIG_SYS_[CP]BSIZE to common/Kconfig Tom Rini
2023-10-19 15:00 ` [v4 07/24] env: Move env_set() out of cmd/nvedit.c and in to env/common.c Tom Rini
2023-10-19 15:00 ` [v4 08/24] test: Make UNIT_TEST depend on CMDLINE Tom Rini
2023-10-19 15:00 ` [v4 09/24] video: Don't require the font command Tom Rini
2023-10-19 15:00 ` [v4 10/24] cli_simple: Rework this support slightly Tom Rini
2023-10-19 15:00 ` [v4 11/24] efi: Rearrange the Kconfig for CMD_BOOTEFI_BOOTMGR Tom Rini
2023-10-19 15:16   ` Heinrich Schuchardt
2023-10-19 15:19     ` Tom Rini
2023-10-19 15:24       ` Heinrich Schuchardt
2023-10-19 15:28         ` Tom Rini
2023-10-20 12:21       ` AKASHI Takahiro
2023-10-20 13:58         ` Tom Rini
2023-10-19 15:00 ` [v4 12/24] bootmeth: Make BOOTMETH_EFILOADER depend on CMD_BOOTEFI Tom Rini
2023-10-19 15:00 ` [v4 13/24] autoboot: Correct dependencies on CMDLINE Tom Rini
2023-10-19 15:00 ` [v4 14/24] boot: Make DISTRO_DEFAULTS select CMDLINE Tom Rini
2023-10-19 15:00 ` [v4 15/24] boot: Rework BOOT_DEFAULTS to allow for CMDLINE to be disabled Tom Rini
2023-10-19 15:00 ` [v4 16/24] boot: Move SYS_BOOTM_LEN to be by LEGACY_IMAGE_FORMAT Tom Rini
2023-10-19 15:00 ` [v4 17/24] bootmeth_cros: Require bootm.o and bootm_os.o Tom Rini
2023-10-19 15:00 ` [v4 18/24] bootmeth_script: Depend on CMDLINE Tom Rini
2023-10-19 15:01 ` [v4 19/24] boot: Make preboot and bootcmd require CMDLINE Tom Rini
2023-10-19 15:01 ` [v4 20/24] cmd: Make most commands depend on CMDLINE Tom Rini
2023-10-19 15:01 ` [v4 21/24] sandbox: Disable CONFIG_DISTRO_DEFAULTS Tom Rini
2023-10-19 15:01 ` [v4 22/24] sandbox: Avoid requiring CMDLINE Tom Rini
2023-10-19 15:01 ` [v4 23/24] sandbox: Add <asm/barrier.h> Tom Rini
2023-10-21  2:39   ` Sean Anderson
2023-10-19 15:01 ` [v4 24/24] clk_k210.c: Clean up how we handle nop Tom Rini
2023-10-20 21:53   ` [v4.1 1/2] sandbox: Add a test for disabling CONFIG_CMDLINE Tom Rini
2023-10-20 21:53     ` [v4.1 2/2] CI, pytest: Add a test for sandbox without LTO Tom Rini
2023-10-21 15:43       ` Simon Glass
2023-10-21 18:34         ` Tom Rini
2023-10-23  7:05           ` Simon Glass
2023-10-23 13:37             ` Tom Rini
2023-10-23 17:13               ` Simon Glass
2023-10-23 17:27                 ` Tom Rini
2023-10-24 18:02                   ` Simon Glass
2023-10-24 18:07                     ` Tom Rini
2023-10-24 21:39                       ` Simon Glass
2023-10-24 22:01                         ` Tom Rini [this message]
2023-10-21  2:39   ` [v4 24/24] clk_k210.c: Clean up how we handle nop Sean Anderson

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=20231024220155.GK496310@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox