Date: Fri, 21 May 2021 15:51:35 -0700 From: Mark Millard via freebsd-arm <freebsd-arm@freebsd.org> To: tech-lists <tech-lists@zyxst.net>, evgeniy@khramtsov.org Cc: freebsd-arm@freebsd.org Subject: Re: RPi 4 build time Message-ID: <0299DFBF-5497-4A06-978D-13E4FBD8B5F0@yahoo.com> In-Reply-To: <YKgzeLxxZNhViwoi@ceres.zyxst.net> References: <YKgTB7Hf3dkQiW5c@vax.khramtsov.org> <YKgzeLxxZNhViwoi@ceres.zyxst.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-May-21, at 15:26, tech-lists <tech-lists at zyxst.net> wrote: > On Fri, May 21, 2021 at 11:07:35PM +0300, Evgeniy Khramtsov via = freebsd-arm wrote: >=20 >> How long are compile times for aarch64 8 GB RPi? It is especially >> interesting to know about overclocked results. I guess buildworld = time >> would describe it well, but any heavy port (ex. rust) would also be = great. >=20 > It depends. I've got it down to about 4 1/2 hrs for the > buildworld/buildkernel steps. But this is after all this has been = done: >=20 > for stable/13: >=20 > 1. configuration and use of devel/ccache-static > 2. clocking to 2.0 GHz with the following config.txt: >=20 > [...] > % less /boot/msdos/config.txt arm_control=3D0x200 > dtparam=3Daudio=3Don,i2c_arm=3Don,spi=3Don > dtoverlay=3Dmmc > dtoverlay=3Dpwm > dtoverlay=3Ddisable-bt > device_tree_address=3D0x4000 > kernel=3Du-boot.bin > over_voltage=3D6 > arm_freq=3D2000 > sdram_freq_min=3D3200 >=20 > *make SURE you have good cooling!!!!!* I have a flirc rpi4 case on = this > one. >=20 > 3. /usr/obj /usr/src and /var/cache/ccache on zfs on usb3-connected > spinning rust >=20 > 4. /tmp as tmpfs (512mb) >=20 > 5. make -j6 buildworld && make -j6 buildkernel (after make -j10 = cleanworld && make -j10 cleandir && make -j10 clean) >=20 > 6. having *already built* a new world and kernel and installed it all = and > rebooted, which had been built with the following /etc/src.conf : So, if I read this right, you are reporting 4.5 hrs for a "hot ccache" result, which I had mentioned as one of the things leading to large variations in reported build times. But I've not done those experiments and so could not report examples. Thanks for doing so. > [...] > WITH_MALLOC_PRODUCTION=3D > WITHOUT_DEBUG_FILES=3D > WITH_CCACHE_BUILD=3D > WITH_OPENSSL_KTLS=3D >=20 > WITHOUT_APM=3D > WITHOUT_ASSERT_DEBUG=3D > WITHOUT_BLUETOOTH=3D > WITHOUT_CUSE=3D > WITHOUT_DICT=3D = WITHOUT_DMAGENT=3D = = WITHOUT_FLOPPY=3D = WITHOUT_FREEBSD_UPDATE=3D= = WITHOUT_HAST=3D = WITHOUT_IPFILTER=3D= = WITHOUT_IPFW=3D = = WITHOUT_ISCSI=3D = WITHOUT_KERNEL_SYMBOLS=3D = = WITHOUT_LLVM_TARGET_ALL=3D = WITH_LLVM_TARGET_AARCH64=3D= = WITH_LLVM_TARGET_ARM=3D > WITHOUT_LPR=3D > WITHOUT_NDIS=3D > WITHOUT_NETGRAPH=3D > WITHOUT_NIS=3D > WITHOUT_OFED=3D > WITHOUT_PORTSNAP=3D > WITHOUT_PPP=3D > WITHOUT_RADIUS_SUPPORT=3D > WITH_RATELIMIT=3D > WITHOUT_RBOOTD=3D > WITHOUT_ROUTED=3D > WITH_SORT_THREADS=3D > WITH_SVN=3D > WITHOUT_TALK=3D > WITHOUT_TESTS=3D > WITHOUT_TFTP=3D > WITHOUT_UNBOUND=3D > # > 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 And the above points out that I also forgot to mention the configuration selections as a source of large variations --and to report on what I used. I'll list that after the rest of your message. I do avoid building the llvm material for targeting MIPS, POWERPC, RISCV, and X86. That is another fairly large block of time avoided to get my "no hot ccache" times that I reported. > (and afterwards, make check-old (then) yes | make delete-old then yes| > make delete-old-libs) then=20 > 7. with the following in /etc/sysctl.conf : > vfs.read_max=3D128=20 > With regard to building ports (I use poudriere-devel) with jobs=3D4 I = see > the following build times for the largest five ports built = subsequently: >=20 > rust-1.51.0 took 7hrs 46mins > doxygen-1.9.1,2 took 1hr 36mins > texlive-texmf-20150523_4 took 1hr 36mins > llvm10-10.0.1_5 took 1hr 4mins > binutils-2.33.1_4,1 took 57mins 37s >=20 > The poudriere jail instance for this rpi4 uses the same /usr/src as = what > has built the OS. This means it was built with the same /etc/src.conf > parameters. >=20 > My other rpi4 (runs main/14, currently I'm testing it) will clock to = 2.1GHz. I've not thoroughly tested buildtimes there yet. >=20 > I forgot to mention both my stable/13 rpi4 and main/14rpi4 run powerd > with these lines in /etc/rc.conf: >=20 > powerd_enable=3D"YES" > powerd_flags=3D"-r 1" My build configuration file content: # more ~/src.configs/src.conf.CA72-nodbg-clang.aarch64-host=20 TO_TYPE=3Daarch64 # KERNCONF=3DGENERIC-NODBG-CA72 TARGET=3Darm64 .if ${.MAKE.LEVEL} =3D=3D 0 TARGET_ARCH=3D${TO_TYPE} .export TARGET_ARCH .endif # WITH_SYSTEM_COMPILER=3D WITH_SYSTEM_LINKER=3D # WITH_ELFTOOLCHAIN_BOOTSTRAP=3D #Disables avoiding bootstrap: WITHOUT_LLVM_TARGET_ALL=3D WITH_LLVM_TARGET_AARCH64=3D WITH_LLVM_TARGET_ARM=3D WITHOUT_LLVM_TARGET_MIPS=3D WITHOUT_LLVM_TARGET_POWERPC=3D WITHOUT_LLVM_TARGET_RISCV=3D WITHOUT_LLVM_TARGET_X86=3D WITH_CLANG=3D WITH_CLANG_IS_CC=3D WITH_CLANG_FULL=3D WITH_CLANG_EXTRAS=3D WITH_LLD=3D WITH_LLD_IS_LD=3D WITH_LLDB=3D # WITH_BOOT=3D # # WITHOUT_WERROR=3D MALLOC_PRODUCTION=3D WITH_MALLOC_PRODUCTION=3D WITHOUT_ASSERT_DEBUG=3D WITHOUT_LLVM_ASSERTIONS=3D # # Avoid stripping but do not control host -g status as well: DEBUG_FLAGS+=3D # WITH_REPRODUCIBLE_BUILD=3D WITH_DEBUG_FILES=3D # # 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 NOTE: in the above file, sometimes the notes have not been checked for a change of status in a long time. They just report what lead to the way things were done at the time they were first done that way. FYI: I do not run powerd. I've had heat sinks, fans, cases, and good 5.1V 3.5A power supplies for all the RPi4B's that I had access to. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0299DFBF-5497-4A06-978D-13E4FBD8B5F0>