Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 May 2023 11:53:24 +0100
From:      Nuno Teixeira <eduardo@freebsd.org>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        Ronald Klop <ronald-lists@klop.ws>, FreeBSD Mailing List <freebsd-ports@freebsd.org>,  freebsd-arm@freebsd.org
Subject:   Re: Improving www/chromium build time on arm64
Message-ID:  <CAFDf7ULrFcULXqQOHJK_jgvs2JxeVrDb5%2BdnPRuUkfix1PuJDQ@mail.gmail.com>
In-Reply-To: <CAFDf7U%2BxOMkpLOUYHipHyOp-vw96--JKV4PxfXE8DkKCZCSMGw@mail.gmail.com>
References:  <CAFDf7U%2B1p5HSEmXzSKU62ULgAevGK-g93nBqix2hzafEDs4F-Q@mail.gmail.com> <CAFDf7ULoK-P7h8E2PGz1S3-8Dr8EZLD_o7dWku3eZn7FEXV2Cg@mail.gmail.com> <1623315797.5.1684837400228@mailrelay> <CAFDf7UK=UQhJt5wi7zk%2BoP%2BCmob5W6Zt-=jkV0rV-kd%2Bm6zMvQ@mail.gmail.com> <EDC26FF9-0D8D-4412-85F8-21BE157BAF6F@yahoo.com> <CAFDf7U%2BxOMkpLOUYHipHyOp-vw96--JKV4PxfXE8DkKCZCSMGw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000d25d3f05fce70368
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

(...)

(I've missed OPTIONS_EXCLUDE_aarch64=3DLTO so forgeting it.)

Conlusion:

Thats a big difference on compilation times:

---
build of www/firefox | firefox-113.0.2_1,2
build time: 05:35:57
---
build of www/chromium | chromium-113.0.5672.126
build time: 56:59:23
---
But I'm enjoying the fast and smooth chrome run.
Really nice.

Nuno Teixeira <eduardo@freebsd.org> escreveu no dia ter=C3=A7a, 30/05/2023 =
=C3=A0(s)
11:07:

> Hello Mark,
>
> Wrong poudriere.conf. Uploaded correct one.
>
> Summary:
> ---
> USE_TMPFS=3Dno
> PARALLEL_JOBS=3D1
> ALLOW_MAKE_JOBS=3Dyes
> MAX_EXECUTION_TIME=3D259200
> NOHANG_TIME=3D259200
> ---
>
> 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=C3=A7a, 30/05/2023 =
=C3=A0(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=3D86400 (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=C3=A7a, 23/05/2=
023
>> =C3=A0(s) 11:23:
>> >> =C3=82
>> >>> 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
>> >>> (...)
>> >>> =C3=82
>> >>> But I also found that poudriere:
>> >>> [88:53:28] Failed ports: www/chromium:build/timeout
>> >>> =C3=82
>> >>> 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=3D86400
>> >>> ---
>> >>> =C3=82
>> >>> I suspect it can be the cause of build failure because build >24h.
>> >>> =C3=82
>> >>> Nuno Teixeira <eduardo@freebsd.org> escreveu no dia ter=C3=83=C2=A7a=
,
>> 23/05/2023 =C3=83 (s) 08:31:
>> >>> Hello all,
>> >>> =C3=82
>> >>> I'm running 13-STABLE on rpi4 8 and since firefox{-esr} is constantl=
y
>> 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=
.
>> >>> =C3=82
>> >>> It fails to build around 70% but my biggest concern is build time: 2=
7
>> hours for 70% compilation!
>> >>> =C3=82
>> >>> Just for comparison:
>> >>> llvm15: 12h
>> >>> rust: 9h
>> >>> firefox: 6h
>> >>> =C3=82
>> >>> rip4 v1.5 8GB @ 2000Hz ~62 Celsius
>> >>> zfs
>> >>> poudriere:
>> >>> USE_TMPFS=3Dno
>> >>> PARALLEL_JOBS=3D1
>> >>> ALLOW_MAKE_JOBS=3Dyes
>> >>> =C3=82
>> >>> Any hints on how to speed build? ccache?
>> >>> Does cflags "-O -pipe" not present in compilation is related to buil=
d
>> time?
>> >>> =C3=82
>> >>> Full log:
>> >>>
>> https://people.freebsd.org/~eduardo/logs/chromium/chromium-113.0.5672.12=
6.log
>> >>> =C3=82
>> >>> Thanks!
>> >>> =C3=82
>> >>> ---
>> >>> <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.
>> >>> =3D=3D=3D> Compilation failed unexpectedly.
>> >>> Try to set MAKE_JOBS_UNSAFE=3Dyes 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)
>> >>>   =C3=82
>> >>> -- 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=3D86400
>> >> MAX_EXECUTION_TIME=3D172800
>> >>
>> >> # This defines the time (in seconds) before a command is considered t=
o
>> >> # be in a runaway state for having no output on stdout. Default: 7200
>> >> #NOHANG_TIME=3D7200
>> >> NOHANG_TIME=3D172800
>> >>
>> >>
>> >> I'm maintaining some mongodb ports which also take a long long time t=
o
>> 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:
>> >> "=3D>> Killing timed out build after 86400 seconds"
>> >>
>> >> And some time later:
>> >> "=3D>> Cleaning up wrkdir
>> >> =3D=3D=3D> Cleaning for chromium-113.0.5672.126"
>> >>
>> >> So the errors about missing files happen because poudriere is removin=
g
>> files while some processes of the build are still running.
>> >>
>> >> I'm curious how far it gets after you increase MAX_EXECUTION_TIME.
>> >
>>
>> =3D=3D=3D
>> Mark Millard
>> marklmi at yahoo.com
>>
>>
>
> --
> Nuno Teixeira
> FreeBSD Committer (ports)
>


--=20
Nuno Teixeira
FreeBSD Committer (ports)

--000000000000d25d3f05fce70368
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>(...)</div><div><br></div><div>(I&#39;ve missed OPTIO=
NS_EXCLUDE_aarch64=3DLTO so forgeting it.)<br></div><div><br></div><div>Con=
lusion:</div><div><br></div><div>Thats a big difference on compilation time=
s:</div><div><br></div><div>---<br></div><div>build of www/firefox | firefo=
x-113.0.2_1,2<br>build time: 05:35:57</div><div>---<br></div><div>build of =
www/chromium | chromium-113.0.5672.126<br></div><div>build time: 56:59:23</=
div><div>---<br></div><div>But I&#39;m enjoying the fast and smooth chrome =
run.</div><div>Really nice.<br></div></div><br><div class=3D"gmail_quote"><=
div dir=3D"ltr" class=3D"gmail_attr">Nuno Teixeira &lt;<a href=3D"mailto:ed=
uardo@freebsd.org">eduardo@freebsd.org</a>&gt; escreveu no dia ter=C3=A7a, =
30/05/2023 =C3=A0(s) 11:07:<br></div><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddin=
g-left:1ex"><div dir=3D"ltr"><div>Hello Mark,</div><div><br></div><div>Wron=
g poudriere.conf. Uploaded correct one.</div><div><br></div><div>Summary:</=
div><div>---<br></div>USE_TMPFS=3Dno<div>PARALLEL_JOBS=3D1</div><div>ALLOW_=
MAKE_JOBS=3Dyes</div><div><div>MAX_EXECUTION_TIME=3D259200<br>NOHANG_TIME=
=3D259200</div><div>---</div><div><br></div><div>htop showed me 4&lt;load&l=
t;5 (around 4,70) with temperature at ~60/65 degrees Celsius</div></div></d=
iv><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">Mar=
k Millard &lt;<a href=3D"mailto:marklmi@yahoo.com" target=3D"_blank">marklm=
i@yahoo.com</a>&gt; escreveu no dia ter=C3=A7a, 30/05/2023 =C3=A0(s) 10:47:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On May 30, 2023=
, at 01:39, Nuno Teixeira &lt;<a href=3D"mailto:eduardo@freebsd.org" target=
=3D"_blank">eduardo@freebsd.org</a>&gt; wrote:<br>
<br>
&gt; Hello Ronald and all!<br>
&gt; <br>
&gt; Finally I build it after 57 hours @ 2000MHz !!!<br>
<br>
So the prior &quot;[88:53:28] Failed ports: www/chromium:build/timeout&quot=
;<br>
was not with the overclocking? Other differences that could<br>
contribute to the time difference?<br>
<br>
MAX_EXECUTION_TIME=3D86400 (the default) only allows for 24 hours<br>
before it starts analyzing the log for failure information (while<br>
letting the build continue while that scanning is done).<br>
<br>
&gt; Configs, photos and log at: <a href=3D"https://people.freebsd.org/~edu=
ardo/logs/chromium/" rel=3D"noreferrer" target=3D"_blank">https://people.fr=
eebsd.org/~eduardo/logs/chromium/</a><br>
<br>
<a href=3D"https://people.freebsd.org/~eduardo/logs/chromium/poudriere.conf=
" rel=3D"noreferrer" target=3D"_blank">https://people.freebsd.org/~eduardo/=
logs/chromium/poudriere.conf</a><br>
shows no assignments to MAX_EXECUTION_TIME or NOHANG_TIME or<br>
other such (outside comments). In the comments are the default<br>
values, not increases.<br>
<br>
Similarly for PARALLEL_JOBS , PREPARE_PARALLEL_JOBS , ALLOW_MAKE_JOBS ,<br>
and so on. (It is not clear what the load average behavior/ idle time<br>
behavior might have been.)<br>
<br>
The file does show explicit assignments to: ZPOOL, FREEBSD_HOST ,<br>
RESOLV_CONF , BASEFS , USE_PORTLINT , USE_TMPFS , DISTFILES_CACHE ,<br>
and PACKAGE_FETCH_URL .<br>
<br>
&gt; I&#39;m running it right now and it runs very smooth!<br>
&gt; <br>
&gt; Next step will be compiling with LTO to check compile time and do some=
 comparisons on binary size and run performance.<br>
&gt; <br>
&gt; Should I bother with LTO? Will it add performance?<br>
&gt; <br>
&gt; Thanks all!<br>
&gt; <br>
&gt; <br>
&gt; Ronald Klop &lt;<a href=3D"mailto:ronald-lists@klop.ws" target=3D"_bla=
nk">ronald-lists@klop.ws</a>&gt; escreveu no dia ter=C3=A7a, 23/05/2023 =C3=
=A0(s) 11:23:<br>
&gt;&gt; =C3=82=C2=A0 <br>
&gt;&gt;&gt; Van: Nuno Teixeira &lt;<a href=3D"mailto:eduardo@freebsd.org" =
target=3D"_blank">eduardo@freebsd.org</a>&gt;<br>
&gt;&gt;&gt; Datum: dinsdag, 23 mei 2023 09:48<br>
&gt;&gt;&gt; Aan: FreeBSD Mailing List &lt;<a href=3D"mailto:freebsd-ports@=
freebsd.org" target=3D"_blank">freebsd-ports@freebsd.org</a>&gt;, <a href=
=3D"mailto:freebsd-arm@freebsd.org" target=3D"_blank">freebsd-arm@freebsd.o=
rg</a><br>
&gt;&gt;&gt; Onderwerp: Re: Improving www/chromium build time on arm64<br>
&gt;&gt;&gt; (...) <br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; But I also found that poudriere:<br>
&gt;&gt;&gt; [88:53:28] Failed ports: www/chromium:build/timeout<br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; So I will search how do I increase build time to avoid timeout=
:<br>
&gt;&gt;&gt; ---<br>
&gt;&gt;&gt; # This defines the max time (in seconds) that a command may ru=
n for a build<br>
&gt;&gt;&gt; # before it is killed for taking too long. Default: 86400<br>
&gt;&gt;&gt; #MAX_EXECUTION_TIME=3D86400<br>
&gt;&gt;&gt; ---<br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; I suspect it can be the cause of build failure because build &=
gt;24h.<br>
&gt;&gt;&gt; =C3=82=C2=A0 <br>
&gt;&gt;&gt; Nuno Teixeira &lt;<a href=3D"mailto:eduardo@freebsd.org" targe=
t=3D"_blank">eduardo@freebsd.org</a>&gt; escreveu no dia ter=C3=83=C2=A7a, =
23/05/2023 =C3=83 (s) 08:31:<br>
&gt;&gt;&gt; Hello all, <br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; I&#39;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.=
<br>
&gt;&gt;&gt; chromium pkg isn&#39;t available for arm64 and I didn&#39;t fo=
und error log at <a href=3D"https://pkg-status.freebsd.org/" rel=3D"norefer=
rer" target=3D"_blank">https://pkg-status.freebsd.org/</a>; so I decided to =
build it on poudriere.<br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; It fails to build around 70% but my biggest concern is build t=
ime: 27 hours for 70% compilation!<br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; Just for comparison:<br>
&gt;&gt;&gt; llvm15: 12h<br>
&gt;&gt;&gt; rust: 9h<br>
&gt;&gt;&gt; firefox: 6h<br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; rip4 v1.5 8GB @ 2000Hz ~62 Celsius<br>
&gt;&gt;&gt; zfs<br>
&gt;&gt;&gt; poudriere:<br>
&gt;&gt;&gt; USE_TMPFS=3Dno<br>
&gt;&gt;&gt; PARALLEL_JOBS=3D1<br>
&gt;&gt;&gt; ALLOW_MAKE_JOBS=3Dyes<br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; Any hints on how to speed build? ccache?<br>
&gt;&gt;&gt; Does cflags &quot;-O -pipe&quot; not present in compilation is=
 related to build time? <br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; Full log:<br>
&gt;&gt;&gt; <a href=3D"https://people.freebsd.org/~eduardo/logs/chromium/c=
hromium-113.0.5672.126.log" rel=3D"noreferrer" target=3D"_blank">https://pe=
ople.freebsd.org/~eduardo/logs/chromium/chromium-113.0.5672.126.log</a><br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; Thanks!<br>
&gt;&gt;&gt; =C3=82 <br>
&gt;&gt;&gt; ---<br>
&gt;&gt;&gt; &lt;SNIP&gt;<br>
&gt;&gt;&gt; In file included from ../../base/check.h:11:<br>
&gt;&gt;&gt; ../../base/compiler_specific.h:8:10: fatal error: &#39;build/b=
uild_config.h&#39; file not found<br>
&gt;&gt;&gt; #include &quot;build/build_config.h&quot;<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~~~~~~~<br>
&gt;&gt;&gt; 1 error generated.<br>
&gt;&gt;&gt; ninja: build stopped: subcommand failed.<br>
&gt;&gt;&gt; =3D=3D=3D&gt; Compilation failed unexpectedly.<br>
&gt;&gt;&gt; Try to set MAKE_JOBS_UNSAFE=3Dyes and rebuild before reporting=
 the failure to<br>
&gt;&gt;&gt; the maintainer.<br>
&gt;&gt;&gt; *** Error code 1<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; Stop.<br>
&gt;&gt;&gt; make: stopped in /usr/ports/www/chromium<br>
&gt;&gt;&gt; build of www/chromium | chromium-113.0.5672.126 ended at Tue M=
ay 23 02:22:56 WEST 2023<br>
&gt;&gt;&gt; build time: 27:15:37<br>
&gt;&gt;&gt; !!! build failure encountered !!!<br>
&gt;&gt;&gt; ---<br>
&gt;&gt;&gt; -- Nuno Teixeira<br>
&gt;&gt;&gt; FreeBSD Committer (ports)<br>
&gt;&gt;&gt;=C2=A0 =C2=A0=C3=82 <br>
&gt;&gt;&gt; -- Nuno Teixeira<br>
&gt;&gt;&gt; FreeBSD Committer (ports)<br>
&gt;&gt;&gt; <br>
&gt;&gt; <br>
&gt;&gt; Hi,<br>
&gt;&gt; <br>
&gt;&gt; My poudriere.conf for building ports on rpi4 contains these two ch=
anges:<br>
&gt;&gt; <br>
&gt;&gt; # This defines the max time (in seconds) that a command may run fo=
r a build<br>
&gt;&gt; # before it is killed for taking too long. Default: 86400<br>
&gt;&gt; #MAX_EXECUTION_TIME=3D86400<br>
&gt;&gt; MAX_EXECUTION_TIME=3D172800<br>
&gt;&gt; <br>
&gt;&gt; # This defines the time (in seconds) before a command is considere=
d to<br>
&gt;&gt; # be in a runaway state for having no output on stdout. Default: 7=
200<br>
&gt;&gt; #NOHANG_TIME=3D7200<br>
&gt;&gt; NOHANG_TIME=3D172800<br>
&gt;&gt; <br>
&gt;&gt; <br>
&gt;&gt; I&#39;m maintaining some mongodb ports which also take a long long=
 time to build on rpi4.<br>
&gt;&gt; But I don&#39;t remember which of these settings has the preferred=
 impact on your situation.<br>
&gt;&gt; <br>
&gt;&gt; Oh... now I&#39;m reading your log better. It contains this:<br>
&gt;&gt; &quot;=3D&gt;&gt; Killing timed out build after 86400 seconds&quot=
;<br>
&gt;&gt; <br>
&gt;&gt; And some time later:<br>
&gt;&gt; &quot;=3D&gt;&gt; Cleaning up wrkdir<br>
&gt;&gt; =3D=3D=3D&gt; Cleaning for chromium-113.0.5672.126&quot;<br>
&gt;&gt; <br>
&gt;&gt; So the errors about missing files happen because poudriere is remo=
ving files while some processes of the build are still running.<br>
&gt;&gt; <br>
&gt;&gt; I&#39;m curious how far it gets after you increase MAX_EXECUTION_T=
IME.<br>
&gt; <br>
<br>
=3D=3D=3D<br>
Mark Millard<br>
marklmi at <a href=3D"http://yahoo.com" rel=3D"noreferrer" target=3D"_blank=
">yahoo.com</a><br>
<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"l=
tr"><span style=3D"color:rgb(102,102,102)">Nuno Teixeira<br>FreeBSD Committ=
er (ports)</span></div></div>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"l=
tr"><span style=3D"color:rgb(102,102,102)">Nuno Teixeira<br>FreeBSD Committ=
er (ports)</span></div></div>

--000000000000d25d3f05fce70368--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFDf7ULrFcULXqQOHJK_jgvs2JxeVrDb5%2BdnPRuUkfix1PuJDQ>