Re: Improving www/chromium build time on arm64
- Reply: Nuno Teixeira : "Re: Improving www/chromium build time on arm64"
- In reply to: Mark Millard : "Re: Improving www/chromium build time on arm64"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 May 2023 10:07:21 UTC
Hello Mark, Wrong poudriere.conf. Uploaded correct one. Summary: --- USE_TMPFS=no PARALLEL_JOBS=1 ALLOW_MAKE_JOBS=yes MAX_EXECUTION_TIME=259200 NOHANG_TIME=259200 --- htop showed me 4<load<5 (around 4,70) with temperature at ~60/65 degrees Celsius Mark Millard <marklmi@yahoo.com> escreveu no dia terça, 30/05/2023 à(s) 10:47: > On May 30, 2023, at 01:39, Nuno Teixeira <eduardo@freebsd.org> wrote: > > > Hello Ronald and all! > > > > Finally I build it after 57 hours @ 2000MHz !!! > > So the prior "[88:53:28] Failed ports: www/chromium:build/timeout" > was not with the overclocking? Other differences that could > contribute to the time difference? > > MAX_EXECUTION_TIME=86400 (the default) only allows for 24 hours > before it starts analyzing the log for failure information (while > letting the build continue while that scanning is done). > > > Configs, photos and log at: > https://people.freebsd.org/~eduardo/logs/chromium/ > > https://people.freebsd.org/~eduardo/logs/chromium/poudriere.conf > shows no assignments to MAX_EXECUTION_TIME or NOHANG_TIME or > other such (outside comments). In the comments are the default > values, not increases. > > Similarly for PARALLEL_JOBS , PREPARE_PARALLEL_JOBS , ALLOW_MAKE_JOBS , > and so on. (It is not clear what the load average behavior/ idle time > behavior might have been.) > > The file does show explicit assignments to: ZPOOL, FREEBSD_HOST , > RESOLV_CONF , BASEFS , USE_PORTLINT , USE_TMPFS , DISTFILES_CACHE , > and PACKAGE_FETCH_URL . > > > I'm running it right now and it runs very smooth! > > > > Next step will be compiling with LTO to check compile time and do some > comparisons on binary size and run performance. > > > > Should I bother with LTO? Will it add performance? > > > > Thanks all! > > > > > > Ronald Klop <ronald-lists@klop.ws> escreveu no dia terça, 23/05/2023 > à(s) 11:23: > >>  > >>> Van: Nuno Teixeira <eduardo@freebsd.org> > >>> Datum: dinsdag, 23 mei 2023 09:48 > >>> Aan: FreeBSD Mailing List <freebsd-ports@freebsd.org>, > freebsd-arm@freebsd.org > >>> Onderwerp: Re: Improving www/chromium build time on arm64 > >>> (...) > >>>  > >>> But I also found that poudriere: > >>> [88:53:28] Failed ports: www/chromium:build/timeout > >>>  > >>> So I will search how do I increase build time to avoid timeout: > >>> --- > >>> # This defines the max time (in seconds) that a command may run for a > build > >>> # before it is killed for taking too long. Default: 86400 > >>> #MAX_EXECUTION_TIME=86400 > >>> --- > >>>  > >>> I suspect it can be the cause of build failure because build >24h. > >>>  > >>> Nuno Teixeira <eduardo@freebsd.org> escreveu no dia terça, > 23/05/2023 à (s) 08:31: > >>> Hello all, > >>>  > >>> I'm running 13-STABLE on rpi4 8 and since firefox{-esr} is constantly > tab crashing and seg faulting I decided to give chromium a try. > >>> chromium pkg isn't available for arm64 and I didn't found error log at > https://pkg-status.freebsd.org/ so I decided to build it on poudriere. > >>>  > >>> It fails to build around 70% but my biggest concern is build time: 27 > hours for 70% compilation! > >>>  > >>> Just for comparison: > >>> llvm15: 12h > >>> rust: 9h > >>> firefox: 6h > >>>  > >>> rip4 v1.5 8GB @ 2000Hz ~62 Celsius > >>> zfs > >>> poudriere: > >>> USE_TMPFS=no > >>> PARALLEL_JOBS=1 > >>> ALLOW_MAKE_JOBS=yes > >>>  > >>> Any hints on how to speed build? ccache? > >>> Does cflags "-O -pipe" not present in compilation is related to build > time? > >>>  > >>> Full log: > >>> > https://people.freebsd.org/~eduardo/logs/chromium/chromium-113.0.5672.126.log > >>>  > >>> Thanks! > >>>  > >>> --- > >>> <SNIP> > >>> In file included from ../../base/check.h:11: > >>> ../../base/compiler_specific.h:8:10: fatal error: > 'build/build_config.h' file not found > >>> #include "build/build_config.h" > >>> ^~~~~~~~~~~~~~~~~~~~~~ > >>> 1 error generated. > >>> ninja: build stopped: subcommand failed. > >>> ===> Compilation failed unexpectedly. > >>> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the > failure to > >>> the maintainer. > >>> *** Error code 1 > >>> > >>> Stop. > >>> make: stopped in /usr/ports/www/chromium > >>> build of www/chromium | chromium-113.0.5672.126 ended at Tue May 23 > 02:22:56 WEST 2023 > >>> build time: 27:15:37 > >>> !!! build failure encountered !!! > >>> --- > >>> -- Nuno Teixeira > >>> FreeBSD Committer (ports) > >>>  > >>> -- Nuno Teixeira > >>> FreeBSD Committer (ports) > >>> > >> > >> Hi, > >> > >> My poudriere.conf for building ports on rpi4 contains these two changes: > >> > >> # This defines the max time (in seconds) that a command may run for a > build > >> # before it is killed for taking too long. Default: 86400 > >> #MAX_EXECUTION_TIME=86400 > >> MAX_EXECUTION_TIME=172800 > >> > >> # This defines the time (in seconds) before a command is considered to > >> # be in a runaway state for having no output on stdout. Default: 7200 > >> #NOHANG_TIME=7200 > >> NOHANG_TIME=172800 > >> > >> > >> I'm maintaining some mongodb ports which also take a long long time to > build on rpi4. > >> But I don't remember which of these settings has the preferred impact > on your situation. > >> > >> Oh... now I'm reading your log better. It contains this: > >> "=>> Killing timed out build after 86400 seconds" > >> > >> And some time later: > >> "=>> Cleaning up wrkdir > >> ===> Cleaning for chromium-113.0.5672.126" > >> > >> So the errors about missing files happen because poudriere is removing > files while some processes of the build are still running. > >> > >> I'm curious how far it gets after you increase MAX_EXECUTION_TIME. > > > > === > Mark Millard > marklmi at yahoo.com > > -- Nuno Teixeira FreeBSD Committer (ports)