From owner-freebsd-arm@freebsd.org  Wed Sep 23 03:17:03 2020
Return-Path: <owner-freebsd-arm@freebsd.org>
Delivered-To: freebsd-arm@mailman.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
 by mailman.nyi.freebsd.org (Postfix) with ESMTP id EBE143EB604
 for <freebsd-arm@mailman.nyi.freebsd.org>;
 Wed, 23 Sep 2020 03:17:03 +0000 (UTC)
 (envelope-from marklmi@yahoo.com)
Received: from sonic317-21.consmr.mail.gq1.yahoo.com
 (sonic317-21.consmr.mail.gq1.yahoo.com [98.137.66.147])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4Bx3Hz0mHVz4Cb1
 for <freebsd-arm@freebsd.org>; Wed, 23 Sep 2020 03:17:02 +0000 (UTC)
 (envelope-from marklmi@yahoo.com)
X-YMail-OSG: 4b_HfssVM1mpxYaUN3UtdSuA3ijo8vFxeZF_QwGr1O3zMeTVpsKmxKwb.9Ti5.c
 tWakdvtjfipliBLjQPhqV9fG_AczxB97VeoGo_IjiKgqlHcXz71FgtY888XEXBD.V.YhNSl1Zuaj
 LuQChn8YTFY6GYW13oFv0W2LC5w0RSY4TDk0ZKFCXoMVsjNGz65qQzg7mgvjlCy2eBj9uqESisUC
 YEWVP2kBVpSlKAfvFATunihQ1qhZNc.wU5XTTeiMlVE2_RQjXhWXZdHEQ0Q1wY3.JDjanDaR0jw5
 aa0zHyEyMwPSQYz07lFeX4NUNTy5xuQyqJkNr_YVHyTi7GPlSNk3i.5K775RForsjJupcS5tqVnK
 SSQAm.HRLW1PYDkLGkeN86OwfBOq4r2x0_h.pqiGY4sBArj7.4TGXadlKXFCBNRT5AZxNzopjPdS
 iwPFB1jkucw_RYU8Anf90s7_CUOiV4HNcX_N3LMW8X1uvEpmmIyxK5Kemq_SiqyNP1TLAwOD0poA
 Q4YWOSWJ0GAnR0F_09HLMLCRQCG5bBfxZcxpcW0lSvUBcJ_AIsteZESNMzyI7vjCXpHFAPP7ovDU
 dvji.ooFrqw9nO0u5TAiwJv_LTX1wqVWQFVhqkqcDo6z4TuMEZpXcb59C8EsKBWpbL_OhlSfM5RN
 x8bcMVw3LGny2iDmZmSK0rytY2T_1o6tgsMDcKKc8XA2cbxLl9qWg9XqQEkpUOALbA9GS0cJcbnX
 Mc4UVr134BRN9lQ6uOzm1T_Ohq9RsfC20s.Xn53xfhGaGU3t4926w0XnG3xjIk3NXexG3lLBxqNC
 MFElaxWxpztoJg2GSJ57iUmYQ51Wo_jlmOyQDLycxhTDlFz2cEr.dpW0cZ49Y74qIHXWi1xzC0TT
 wuaOrVd7fIHttDnbVxlhgGp9aKL151MhOw7acIGcBp4XWN1V8oyPQtoLI6FW1G.o1DiA7rCsmycw
 65NJYKzb8phTe1BibIibUHPRXxmoe86l8GlXEpP76atmyEwgIpfkVD2ZjDYVxX167VxBXn.cpJwq
 sN6RJM0dF0BN.EyNos9yz_vfw0Y9CpzIghTj464LwjcAcErCfwR4sFvUF13VjF0x02CIMpeD2l_t
 AlT94plzJM0ryFitGGdO9BS297kXHBQ5CqzecdRZvnOnzhxvEJqY.xdDSioEQl2MMuPc8TiOfVqw
 lS2.aN3GXmZYCCX8eDp8mLux0u0ppmfZbj3XrfrGNyWLAqgrT.8QBGP1LPk.muP1a5Ko0IZoFqx_
 PzO7oL5QEAj7pYWVTXrOe5ZgQ_Vpcp5J4Hfrlp8bM.Fdm4FwIRX1DuonTnm0UcuZash8YrkHkQW1
 mzIYUO8laLiA.WCei2MnwyF2Q86a1RZVxl97D1uTii3xJ_MWYtSuYakMWw8sWVCxLUtcChHovsxe
 ts5Ibij6EKX.yje8KdysEhvdnb.j54O01Blf5TOdgc0O4BpV5HYQb77B0X0Gq5gtqvIYGPZR0Wa.
 6eONMVfPwKzHRjlyXr4736EOxUeKaWZcPGt4j3fmTziD.8j4vdqS0lDQ-
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic317.consmr.mail.gq1.yahoo.com with HTTP; Wed, 23 Sep 2020 03:17:00 +0000
Received: by smtp411.mail.gq1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA
 ID 79df9d7de74047d2ca5e6b625bdb4a6e; 
 Wed, 23 Sep 2020 03:16:56 +0000 (UTC)
From: Mark Millard <marklmi@yahoo.com>
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\))
Subject: Re: RPi4B buildworld buildkernel times for already installed system
 being -mcpu=cortex-a72 vs. -mcpu=cortex-a53 based
Date: Tue, 22 Sep 2020 20:16:55 -0700
References: <4E155E94-3AA0-464D-A1E9-45A7827537ED@yahoo.com>
 <A59A0896-5A24-4C05-AD15-DCC27F25B927@yahoo.com>
To: freebsd-arm <freebsd-arm@freebsd.org>
In-Reply-To: <A59A0896-5A24-4C05-AD15-DCC27F25B927@yahoo.com>
Message-Id: <DC890C6C-67BE-4E93-8BEC-81102028C142@yahoo.com>
X-Mailer: Apple Mail (2.3608.120.23.2.1)
X-Rspamd-Queue-Id: 4Bx3Hz0mHVz4Cb1
X-Spamd-Bar: --
X-Spamd-Result: default: False [-2.57 / 15.00]; FREEMAIL_FROM(0.00)[yahoo.com];
 MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com];
 TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+];
 DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject];
 NEURAL_HAM_SHORT(-0.07)[-0.067]; FROM_EQ_ENVFROM(0.00)[];
 RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+];
 FREEMAIL_ENVFROM(0.00)[yahoo.com];
 ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US];
 MID_RHS_MATCH_FROM(0.00)[];
 DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ARC_NA(0.00)[];
 NEURAL_HAM_MEDIUM(-0.98)[-0.984];
 R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[];
 TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.02)[-1.019];
 MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_ONE(0.00)[1];
 RCVD_IN_DNSWL_NONE(0.00)[98.137.66.147:from];
 RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.66.147:from];
 RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[freebsd-arm]
X-BeenThere: freebsd-arm@freebsd.org
X-Mailman-Version: 2.1.33
Precedence: list
List-Id: "Porting FreeBSD to ARM processors." <freebsd-arm.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/freebsd-arm>,
 <mailto:freebsd-arm-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-arm/>
List-Post: <mailto:freebsd-arm@freebsd.org>
List-Help: <mailto:freebsd-arm-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/freebsd-arm>,
 <mailto:freebsd-arm-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Sep 2020 03:17:04 -0000



On 2020-Sep-20, at 18:40, Mark Millard <marklmi at yahoo.com> wrote:

> On 2020-Sep-20, at 18:32, Mark Millard <marklmi at yahoo.com> wrote:
>=20
>> The following are from scratch buildworld buildkernel rebuilds
>> on a RPi4B (head -r363590 context).
>>=20
>> ENVIRONMENT: -mcpu=3Dcortex-a72 based world and kernel running =
already, RPi4B @ 2G Hz,
>> Restricted to 3 GiByte RAM, -j3:
>>=20
>> World built in 37469 seconds, ncpu: 4, make -j3
>> Kernel(s)  GENERIC-NODBG built in 2474 seconds, ncpu: 4, make -j3
>>=20
>> ENVIRONMENT: -mcpu=3Dcortex-a53 based kernel running, RPi4B @ 2G Hz,
>> Restricted to 3 GiByte RAM, -j3:
>>=20
>> World built in 44034 seconds, ncpu: 4, make -j3
>> Kernel(s)  GENERIC-NODBG built in 2895 seconds, ncpu: 4, make -j3
>>=20
>> So a little under 11.1 hr total vs. a little over 13.0 hr total,
>> a somewhat over 50 min improvement.
>=20
> "a somewhat over 1hr 50 min improvement" is what I should have
> managed to type.

Some experiments indicate that the faster result may be rather
dependent on clang 10 -O use vs. clang 11 -O vs. -O2 use as well
as use of -mcpu=3Dcortex-a72 . Jumping from clang 10 -O to clang 11
-O2 for the FreeBSD kernel build in use looks like it might revert
to more like the older times for buildworld buildkernel. (clang 11
-O is -O1 instead of the historical -O2 .) But I've not rerun any
build tests to know for sure.

clang 11's use -f -O meaning -O1 is causing FreeBSD-kernel-build
problems when DEBUG is defined --from lack of inlining in some
environments. FreeBSD may switch to use of -O2 explicitly for all
platforms.

(I build non-debug [no witness and such] with DEBUG=3D-g forced.
My context is now forcing -O2 currently because powerpc64 has the
inlining problem and I'm checking if the uniform setting works
uniformly across what I have access to.)

>> (A xhci patch finally allowed me to boot -mcpu=3Dcortex-a72
>> based kernel builds on the RPi4B: The xhci event ring
>> initialization code was missing a usb_bus_mem_flush_all
>> call previously.)
>>=20
>>=20
>> Supporting details:
>>=20
>> (e-mail based spacing changes expected below)
>>=20
>> # diff -u =
~/src.configs/src.conf.cortexA72-clang-bootstrap.aarch64-host =
~/src.configs/src.conf.cortexA53-clang-bootstrap.aarch64-host
>> --- /root/src.configs/src.conf.cortexA72-clang-bootstrap.aarch64-host	=
2020-03-13 22:29:25.470155000 -0700
>> +++ /root/src.configs/src.conf.cortexA53-clang-bootstrap.aarch64-host	=
2020-03-13 22:29:25.469455000 -0700
>> @@ -49,9 +49,9 @@
>> # Use of the .clang 's here avoids
>> # interfering with other C<?>FLAGS
>> # usage, such as ?=3D usage.
>> -CFLAGS.clang+=3D -mcpu=3Dcortex-a72
>> -CXXFLAGS.clang+=3D -mcpu=3Dcortex-a72
>> -CPPFLAGS.clang+=3D -mcpu=3Dcortex-a72
>> -ACFLAGS.arm64cpuid.S+=3D  -mcpu=3Dcortex-a72+crypto
>> -ACFLAGS.aesv8-armx.S+=3D  -mcpu=3Dcortex-a72+crypto
>> -ACFLAGS.ghashv8-armx.S+=3D        -mcpu=3Dcortex-a72+crypto
>> +CFLAGS.clang+=3D -mcpu=3Dcortex-a53
>> +CXXFLAGS.clang+=3D -mcpu=3Dcortex-a53
>> +CPPFLAGS.clang+=3D -mcpu=3Dcortex-a53
>> +ACFLAGS.arm64cpuid.S+=3D  -mcpu=3Dcortex-a53+crypto
>> +ACFLAGS.aesv8-armx.S+=3D  -mcpu=3Dcortex-a53+crypto
>> +ACFLAGS.ghashv8-armx.S+=3D        -mcpu=3Dcortex-a53+crypto
>>=20
>>=20
>> The .amd64-host files are similar for doing cross builds.
>>=20
>> I also use +=3D in secure/lib/libcrypto/Makefile :
>>=20
>> # svnlite diff /usr/src/secure/lib/libcrypto/Makefile
>> Index: /usr/src/secure/lib/libcrypto/Makefile
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> --- /usr/src/secure/lib/libcrypto/Makefile	(revision 365919)
>> +++ /usr/src/secure/lib/libcrypto/Makefile	(working copy)
>> @@ -20,7 +20,7 @@
>> SRCS+=3D	o_str.c o_time.c threads_pthread.c uid.c
>> .if defined(ASM_aarch64)
>> SRCS+=3D	arm64cpuid.S armcap.c
>> -ACFLAGS.arm64cpuid.S=3D	-march=3Darmv8-a+crypto
>> +ACFLAGS.arm64cpuid.S+=3D	-march=3Darmv8-a+crypto
>> .elif defined(ASM_amd64)
>> SRCS+=3D	x86_64cpuid.S
>> .elif defined(ASM_arm)
>> @@ -35,7 +35,7 @@
>> SRCS+=3D	aes_cbc.c aes_cfb.c aes_ecb.c aes_ige.c aes_misc.c =
aes_ofb.c aes_wrap.c
>> .if defined(ASM_aarch64)
>> SRCS+=3D	aes_core.c aesv8-armx.S vpaes-armv8.S
>> -ACFLAGS.aesv8-armx.S=3D	-march=3Darmv8-a+crypto
>> +ACFLAGS.aesv8-armx.S+=3D	-march=3Darmv8-a+crypto
>> .elif defined(ASM_amd64)
>> SRCS+=3D	aes_core.c aesni-mb-x86_64.S aesni-sha1-x86_64.S =
aesni-sha256-x86_64.S
>> SRCS+=3D	aesni-x86_64.S vpaes-x86_64.S
>> @@ -242,7 +242,7 @@
>> SRCS+=3D	ofb128.c wrap128.c xts128.c
>> .if defined(ASM_aarch64)
>> SRCS+=3D	ghashv8-armx.S
>> -ACFLAGS.ghashv8-armx.S=3D	-march=3Darmv8-a+crypto
>> +ACFLAGS.ghashv8-armx.S+=3D	-march=3Darmv8-a+crypto
>> .elif defined(ASM_amd64)
>> SRCS+=3D	aesni-gcm-x86_64.S ghash-x86_64.S
>> .elif defined(ASM_arm)
>>=20
>> The RPi4B is using:
>>=20
>> over_voltage=3D6
>> arm_freq=3D2000
>>=20
>> and was booted via uefi/ACPI.
>>=20
>> I have not repeated the -j4 or other -jN comparisons that
>> I reported in the past. The -mcpu=3Dcortex-a53 figures are
>> from the past.
>=20



=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)