From nobody Fri Mar 15 22:32:02 2024 X-Original-To: freebsd-arm@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxJsJ5NKXz5D4YM for ; Fri, 15 Mar 2024 22:32:20 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic304-25.consmr.mail.gq1.yahoo.com (sonic304-25.consmr.mail.gq1.yahoo.com [98.137.68.206]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxJsH4mT8z4Nsq for ; Fri, 15 Mar 2024 22:32:19 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=Q9jWjVh2; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.68.206 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710541937; bh=7TFvahFUq1kd+wk6diSJi4pHQ6dezj7hADDZxmBkrL8=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=Q9jWjVh2TJZYs54tbXOSTLS7AFMh28RHf0szpmAj25rrsUsMONcJRcqWTDDR9gDsvgzCOtU5+/UynAbFUrs0aLtGD/qqG+kKuN0s9AZXsTsePkdnvU0LmjJ66zbeuy4PM/PkQZYykgHlzB9AgvccfXWlJONp6ToVv6BWn6Hx9CicgSjII0WhFHd6etQIpl6/v8+Sq+MnbTsy4kMwsj707AntcYpknPBIwRCw99ipw+3YtxvT2D4bMR5ixqTIFBBmuDN3yQVkI5Pz6Y4c0CqjpiBeqqApv8U6Hp1mBMcKEgI8eU2F3KqxTNfyb7Olvi/nJ+xqCAX2OmdKWE7t7XOXkg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710541937; bh=npr349kiQBCnlFYeWEf3/SZ5rSN0vDwZV16ZAANnpCI=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=RfMIln9HhNphI5K106vmykuvbBfJ5unT3zCGxg0P5kg6mppKSDGwPZWQvZkZ3pKZX3YvD+gfETeyjqnCcPf4WgIzJDUej1lUYaC3f9DKmK2LKBU30z+Xd19z9CGe9vkaPaxMHFz3H3ESh19KaEisj/SHSZ+QVUEogkoZN7Lx+gqtoehufesN9jLI0zhW0RLNI+bGhoGoEe3boi+rvu82ZIT1FtCieEkhEX2BDwDBrPHpFS6d4+pGuyquaoAUVzmDg0zgbzeBevmza/4e+RxEpEvZJ3A9CZ99+K67EQ3EE2442QnuINeBfwI0Nk9FwMG8+qY8IzIsbXmS2+pQ6QfYog== X-YMail-OSG: kWd2OpwVM1lE7.z_tq0LYtyUfPCsMXklMbFCH7CQINMmo4_.1GmmOWO.oIydjX2 A9vyS_htjrNkVo0n6.frfau4jo_bTeqWsAaV8lDcdt_6o2psDFjMAwZQWXQisnIcNXvvxbYOwknb UQif4FQg8kEF8creov5RxuKJ1Sai.xAejOtYcyX1IeHrH4iFrJBQVFbz3NoJ48U8ip9kyoEtMVJ. dA1Mp8pN.xJfllxIk9mO1Fn4dQ5zYWVLB5z0_.5Gjfs4uv3491gxg4bBVYmLqc2bHxfnnoyj5GeU 1RQ7a0zyR_fw1kv8syOKPOtKXxELC0T1pzpLGqT6oQuSEjJkUiGKJ1w4vaF7qJSysUmIjoMA_gob LHguI2DARxUgvhV6WxmuG7w7aKMUwrVwRqNjtLuthCLu1gUl.kgMFrUmB_nngf_QmqptavtbgNHY TgOW74XL6VTexWqxygGASoZR3qOPSJaPMSFKxxR8qZaI8yJMl0RiAoYqmtu0OQKqhmOnh5Tf4w3A iY2rKEzCSB_8oyY.wJz_XIgHoDWHY9DZxzh1GKDAcOt5oynfekLxbIqiWt8dP4baSPxtpSAtxs9I tDa4ESxZFY18SI65c8fALr8U6hdPYfbTgeMsFqr1hoJD3g4iH.y1STIS4RRa_e1wiygcfqjncAl1 4lEgNzn211lqbZY4_q8FGgPDwM4EJsh8Me1b8Af9yrjK1vdKuyvFpPHzHQm40T0OPr7r2omLqnTM ZJs0nCra.jwho60jg6_g2uC0PiiTcVsTLSFquVV_cZ.7zWlJexxW2Me.ZoSw4X69sgxJ9mKPXPDE FFOMNcbJzumW5S2wa3V.X3Xae9Bk3WNvFKbztlABWvSmc35w1g.USTNeI83fy3UtY.OhCKRvV3r7 qo1sxCtv9V8TyvU7FYJZyBqbiLT1044XamMQJcSxlkyzOpS8O4ZSwYB2jwhhc6ub8f.4meOmQUU0 xPWgu37hpm4uECy3uTJWu_6iyYK7Ibdm3TrXwijZtOGaTv2B5KLnYPmptJ_p31trNq60zNAdEeUM d5DZoi2zRqL9ShfgM_LYwJDBFsaF134YlEF0RiejpzbK0EppU5gGnEqRax0mNPOWBh6fMDpuugA6 QCLWYHB4aeY4oqiqKu4eBa_zsbMHbleujOwHnM69Gj61z9rJRsp32DoU2qla2EMWjBRsf57JUWg. ecEPO5Qe.clyq2EEcOKJKfOYjvDYUJQb6qXCgfjJ2s.vWPWDDoWX47TLcBkitRXKW8E0mLH8B624 .kxPXKOEYMOI8Oxg6U7WqhLGjNokr0Q2F6BhaXE8Vy9MqG9KfSeDy5WxDFIHEqT4Z793b8UVBj1U 4hXKF1nH4USfY.PGC742FilPX5.31h8KgYqKCUvcWFkm1F6HOUvn5ZVsJ1OhwbdBKiix9wDqqcBD VAoK9WfHIfpxhUabQ0u_SHqJtOv64pdI49lK1ML.fvKbKHmsVTGzbh.Y0_PxMJEAzAUYvN6U08xp kbtcBVR_PU86fbqE3iz9RYbUqhfrjeougn8v5fP81b3O2kmZFY7NDrxMMQr0AAwjlCRRxcirFOz0 dBrXKDwoyyMJaIBHPnp8oVZDKTvVZqEfkAKrwMkQujFWDMY_2o7piB31y7dBym_n1a_Pjq4KnphW w.oD20q5Hb0L1RD6eF1Wm4fXM1B.Ipt2xxYgdGVT9r_81CGg966F25GVpeKmMuxbzD9pSmkanNfm 6K2iBiHIm6pZyUziHSGmvfAVRfYJCFFNYYOaINtbCpDukfOKmlbCpxshpkqGQ8GzWB2WZ_ZuAJ03 jAafqFcbBnQr16guYiO.fi7FlY3vRhmP_asqVIL_39hcCZ7FVoIHq8.UJep3wKxK_8jpkTKU3Eye HemBkiQ5CA5FTHIag4dLGqQBENWXfp3QiS6IzEPstizfIy6u97SiPYpVhNhL5Akk5FEEhV_L934P eemtnqCXtg4tV49M2MpstWh8LbkYWa19EDJKqJjfdBvnH.VQK_0dez2DG81wg6IbDnKfEhdBBHpb 95lkCs2YQIAznhFFe7TjaOkA7Kryq_LhSn3ZYvXZxPJTZ4.nVOGzfP.d6zhKO443yZRK2jkpLC1P l1N3Ls14OJfovB8RaZUxwEBQd7C_J9fupf3cDjGfHeMbeG0dphlGAyGOt5ktI4Cv2XpaCV8pSGEi ctyycAilGf.rAifwuEJ5hy5WZIJGG7hhCHYaIQ2ATyN219Vaip4LvKWWR9tHTEfZZpdI5_Yrdjyv rsyCXtvgmP01SR64LWO_xq7_.EMSDmmHvU.aJr5UmZZ9B7uYwk_DuiOJdZi4gShbKDBZRE.3u.pi nBUxNdei7Rw-- X-Sonic-MF: X-Sonic-ID: 7985c163-3c0b-4e7e-92ad-4c9325efa9be Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.gq1.yahoo.com with HTTP; Fri, 15 Mar 2024 22:32:17 +0000 Received: by hermes--production-gq1-5c57879fdf-6xjwd (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 8910951bf5effbdfe29adc555d31f63b; Fri, 15 Mar 2024 22:32:13 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Porting FreeBSD to ARM processors List-Archive: https://lists.freebsd.org/archives/freebsd-arm List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-arm@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.400.31\)) Subject: Re: 4-core arm armv7-package-building configuration notes, on [RPi5 &] RPi4B (aarch64) and OrangePi+2ed (armv7), poudriere-devel based From: Mark Millard In-Reply-To: <9D19D8E3-5B72-4006-9296-C7D74E670A12@yahoo.com> Date: Fri, 15 Mar 2024 15:32:02 -0700 Cc: Nuno Teixeira Content-Transfer-Encoding: quoted-printable Message-Id: <8B5EC99A-9053-4E8D-97F3-2D9C3667B7A1@yahoo.com> References: <9D19D8E3-5B72-4006-9296-C7D74E670A12@yahoo.com> To: FreeBSD Mailing List , FreeBSD ARM List X-Mailer: Apple Mail (2.3774.400.31) X-Spamd-Bar: --- X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; DKIM_TRACE(0.00)[yahoo.com:+]; TO_DN_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; MIME_TRACE(0.00)[0:+]; RCPT_COUNT_THREE(0.00)[3]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MLMMJ_DEST(0.00)[freebsd-arm@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.68.206:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.206:from] X-Rspamd-Queue-Id: 4TxJsH4mT8z4Nsq [Update to add RPi5 example. The RPi5 is cortex-a76 based instead of being cortex-a72 based (RPi4B).] On Mar 12, 2024, at 23:57, Mark Millard wrote: > This note's structure: >=20 > 1st: Package-build time frame summaries. > (But I note some hardware points that are repeated later as well.) >=20 > 2nd: Configuration points common to both RPi4B and OrangePi+2ed = contexts. New: 3rd.RPi5: Configuration points unique to the RPi5B context. > 3rd: Configuration points unique to the RPi4B context. Rename the above: 3rd.RPi4B: Configuration points unique to the RPi4B context. > 4th: Configuration points unique to the OrangePi+2ed context. >=20 >=20 > 1st: Package-build time Summaries follow. > (Note: the detail order of package builds is not the same.) > (Examples are visiable in these summaries.) Shortest summary: RPi5: 12:30:37 for the 265 armv7 packages to build from = scratch RPi4B: 1D:07:58:46 for the 265 armv7 packages to build from = scratch OrangePi+2ed: 5D:10:31:55 for the 265 armv7 packages to build from = scratch Showing packages that took over 1hr to build on the OrangePi+2ed . . . RPi5: cortex-a76 (aarch64) with cortex-a7 (armv7) support, 2.4 GHz, = 8GiBytes RAM, USB3: (personal -mcpu=3Dcortex-c76 boot-kernel but a PkgBase aarch64 = boot-world) PARALLEL_JOBS=3D2 MAKE_JOBS_NUMBER_LIMIT=3D3 [00:11:50] [01] [00:05:45] Finished lang/perl5.36 | perl5-5.36.3_1: = Success [00:59:31] [02] [00:16:58] Finished devel/icu | icu-74.2,1: Success [01:32:28] [02] [00:07:43] Finished lang/ruby31 | ruby-3.1.4_1,1: = Success [01:37:06] [01] [00:56:07] Finished devel/cmake-core | = cmake-core-3.28.3: Success [09:19:35] [02] [07:22:23] Finished lang/rust | rust-1.76.0: Success [09:56:15] [02] [00:24:45] Finished devel/binutils@native | = binutils-2.40_5,1: Success (Note: start of visible ordering differences:) [10:10:53] [01] [08:33:44] Finished devel/llvm18@default | = llvm18-18.1.0.r3: Success [10:45:38] [01] [00:34:32] Finished devel/boost-libs | = boost-libs-1.84.0: Success [10:53:11] [01] [00:07:30] Finished textproc/source-highlight | = source-highlight-3.1.9_9: Success [11:04:11] [02] [00:19:46] Finished devel/arm-none-eabi-gcc | = arm-none-eabi-gcc-11.3.0_3: Success [11:32:41] [02] [00:19:34] Finished devel/aarch64-none-elf-gcc | = aarch64-none-elf-gcc-11.3.0_3: Success [11:34:25] [01] [00:39:38] Finished lang/gcc13 | gcc13-13.2.0_4: Success [12:10:42] [01] [00:28:22] Finished devel/gdb@py39 | gdb-14.1_2: Success [12:30:33] [02] [00:29:14] Finished devel/freebsd-gcc13@armv7 | = armv7-gcc13-13.2.0_1: Success [12:30:37] Stopping 2 builders [main-CA7-default] [2024-03-15_02h05m19s] [committing] Queued: 265 = Built: 265 Failed: 0 Skipped: 0 Ignored: 0 Fetched: 0 Tobuild: 0 = Time: 12:30:37 . . . > RPi4B: cortex-a72 (aarch64) with cortex-a7 (armv7) support, 2 GHz = (overclocked), 8 GiBytes RAM, USB3 > [00:25:32] [01] [00:13:33] Finished lang/perl5.36 | perl5-5.36.3_1: = Success > [01:58:13] [02] [00:44:25] Finished devel/icu | icu-74.2,1: Success > [03:14:00] [02] [00:21:28] Finished lang/ruby31 | ruby-3.1.4_1,1: = Success > [03:33:51] [01] [02:21:22] Finished devel/cmake-core | = cmake-core-3.28.3: Success > [23:12:47] [02] [19:06:01] Finished lang/rust | rust-1.76.0: Success > [1D:00:14:46] [02] [00:55:46] Finished devel/binutils@native | = binutils-2.40_5,1: Success > (Note: start of visible ordering differences:) > [1D:03:07:32] [02] [00:58:03] Finished devel/arm-none-eabi-gcc | = arm-none-eabi-gcc-11.3.0_3: Success > [1D:03:42:09] [01] [1D:00:08:13] Finished devel/llvm18@default | = llvm18-18.1.0.r3: Success > [1D:04:45:14] [02] [01:35:29] Finished lang/gcc13 | gcc13-13.2.0_4: = Success > [1D:05:21:43] [01] [01:39:13] Finished devel/boost-libs | = boost-libs-1.84.0: Success > [1D:05:43:24] [01] [00:21:33] Finished textproc/source-highlight | = source-highlight-3.1.9_9: Success > [1D:05:47:01] [02] [00:44:22] Finished devel/aarch64-none-elf-gcc | = aarch64-none-elf-gcc-11.3.0_3: Success > [1D:07:23:25] [02] [01:21:04] Finished devel/gdb@py39 | gdb-14.1_2: = Success > [1D:07:58:37] [01] [01:19:55] Finished devel/freebsd-gcc13@armv7 | = armv7-gcc13-13.2.0_1: Success > [1D:07:58:43] Stopping 2 builders > [main-CA7-default] [2024-03-11_15h30m14s] [committing] Queued: 265 = Built: 265 Failed: 0 Skipped: 0 Ignored: 0 Fetched: 0 Tobuild: 0 = Time: 1D:07:58:46 >=20 > . . . [Notes about RAM+SWAP use removed, given the lack of memory pressure in the 8 GiByte context examples. I may run a 4 GiByte RPi4B example and replace the 8 GiByte example with the 4 GiByte that would have some memory pressure.] > OrangePi+2ed: cortex-a7 armv7, 1GHz, 4 cores, 2 GiBytes RAM, USB2: > [01:51:31] [01] [01:00:07] Finished lang/perl5.36 | perl5-5.36.3_1: = Success > [08:55:35] [02] [03:08:09] Finished devel/icu | icu-74.2,1: Success > [13:17:38] [02] [01:28:32] Finished lang/ruby31 | ruby-3.1.4_1,1: = Success > [14:17:44] [01] [09:20:55] Finished devel/cmake-core | = cmake-core-3.28.3: Success > [4D:01:03:43] [02] [3D:08:48:53] Finished lang/rust | rust-1.76.0: = Success > [4D:06:26:24] [02] [03:09:35] Finished devel/binutils@native | = binutils-2.40_5,1: Success > (Note: start of visible ordering differences:) > [4D:14:54:31] [02] [03:38:55] Finished devel/aarch64-none-elf-gcc | = aarch64-none-elf-gcc-11.3.0_3: Success > [4D:16:13:00] [01] [4D:01:55:03] Finished devel/llvm18@default | = llvm18-18.1.0.r3: Success > [4D:18:05:58] [02] [03:11:00] Finished devel/arm-none-eabi-gcc | = arm-none-eabi-gcc-11.3.0_3: Success > [4D:23:00:13] [01] [06:46:06] Finished devel/boost-libs | = boost-libs-1.84.0: Success > [5D:00:16:39] [01] [01:15:53] Finished textproc/source-highlight | = source-highlight-3.1.9_9: Success > [5D:01:17:24] [02] [07:10:52] Finished lang/gcc13 | gcc13-13.2.0_4: = Success > [5D:09:38:14] [01] [05:56:48] Finished devel/freebsd-gcc13@armv7 | = armv7-gcc13-13.2.0_1: Success > [5D:10:18:58] [02] [05:44:02] Finished devel/gdb@py39 | gdb-14.1_2: = Success > [5D:10:31:56] Stopping 2 builders > [main-CA7-default] [2024-03-06_03h15m10s] [committing] Queued: 265 = Built: 265 Failed: 0 Skipped: 0 Ignored: 0 Fetched: 0 Tobuild: 0 = Time: 5D:10:31:55 >=20 > (So, a little over 4 days longer than the RPi4B example above.) >=20 > Note: 2794Mi MaxObs(Act+Wir+Lndry+SwapUsed) ("MaxObs": short for = "Maximum Observed") >=20 >=20 > 2nd: Configuration points common to both the RPi4B and the > OrangePi+2ed contexts. And common to the RPi5 context as well. > ports-mgmt/poudriere-devel is used to build the packages. >=20 > devel/llvm18 options: using BE_NATIVE and omitting MLIR. > (What I normally build for armv7 and aarch64 targetting.) >=20 > Also, ports-mgmt/poudriere-devel omits the QEMU option, > as is normal for me. >=20 > 265 packages are built, including pkg. It is the same > 265 pacakges across contexts. (The order of the builds > does vary.) >=20 > /usr/local/etc/poudriere.conf has . . . >=20 > NO_ZFS=3Dyes > PARALLEL_JOBS=3D2 > ALLOW_MAKE_JOBS=3Dyes > MAX_EXECUTION_TIME=3D432000 > NOHANG_TIME=3D432000 > MAX_EXECUTION_TIME_EXTRACT=3D14400 > MAX_EXECUTION_TIME_INSTALL=3D14400 > MAX_EXECUTION_TIME_PACKAGE=3D57600 > MAX_EXECUTION_TIME_DEINSTALL=3D14400 >=20 > NOTE: MAKE_JOBS_NUMBER_LIMIT is used to constrain > what ALLOW_MAKE_JOBS does but is not set the > same across the contexts. Only the native armv7 (OrangePi+2ed) context is not using MAKE_JOBS_NUMBER_LIMIT=3D3 . It uses 2 instead. > /etc/fstab does not specify any tmpfs use or the > like: avoids competing for RAM+SWAP. >=20 > poudriere armv7 jail worlds are duplicates of each > other across the different media. Those worlds are > from a personal buildworld based on using > -mcpu=3Dcortex-a7 for the code generation. The package > builds also use that. >=20 > /boot/loader.conf has . . . >=20 > # Delay when persistent low free RAM leads to > # Out Of Memory killing of processes: > vm.pageout_oom_seq=3D120 >=20 > Heatsinks and fans for keeping things cool over the > sustained build activity. 3rd.RPi5: Configuration points unique to the RPi5 context. For the RPi5, I list what is different than the below RPi4B context. The power supply is the official one recommended for the RPi5. The "Raspberry Pi Active Cooler" is specifically what is in use as the fan/heatsink. EDK2 from https://github.com/worproject/rpi5-uefi is in use to boot the RPi5 via UEFI/ACPI, the material from after the old v0.2 release. EDK2 is on a microsd card, separate from the USB3 boot media. No use of U-Boot. (Ethernet is via a USB3 dongle.) The config.txt is from the EDK2 materials, no overclocking but EDK2 does have force_turbo=3D1 . (Possibly some extra RPi* firmware debug output is enabled or such.) The USB3 media is the same as used for the RPi4B but I edited my /boot/loader.conf to indicate to boot my personal kernel.CA76-NODBG that is based on -mcpu=3Dcortex-a76 and use of LSE_ATOMICS . (And has my usual personal-build patching.): # uname -apKU FreeBSD aarch64-main-pkgs 15.0-CURRENT FreeBSD 15.0-CURRENT #0 = main-n268520-5e248c23d995-dirty: Sun Mar 3 02:32:48 UTC 2024 = root@aarch64-main-pkgs:/usr/obj/BUILDs/main-CA76-nodbg-clang/usr/main-src/= arm64.aarch64/sys/GENERIC-NODBG-CA76 arm64 aarch64 1500014 1500014 (The boot world used is the same PkgBase world that was used on the RPi4B.) > . . . 3rd.RPi4B: Configuration points unique to the RPi4B context. > /usr/local/etc/poudriere.conf has . . . >=20 > USE_TMPFS=3D"data" >=20 > (Based on the larger RAM and RAM+SWAP and that it > does not grow to be huge for the likes of lang/rust .) >=20 > /usr/local/etc/poudriere.d/make.conf has . . . >=20 > MAKE_JOBS_NUMBER_LIMIT=3D3 >=20 > (Based on the larger RAM and RAM+SWAP.) This does mean > that the 3 load averages can be 6+ at times on the 4 > hardware thread system while both ports being built are > respecting the limit. Some ports do not fully respect > the limit the whole time. This can make build-times > a somewhat messier comparison than one might hope across > the contexts. But for the specifics here, things should > be clear enough. >=20 > RAM =3D=3D 8 GiBytes > RAM+SWAP =3D=3D 38 GiBytes > (Note aarch64 allows a larger RAM multiplier limit without > warning of potential swap-related mistuning: "total > configured swap (? pages) exceeds maximum recommended > amount (? pages)" with "increase kern.maxswzone or reduce > amount of swap".) >=20 > 5.1V 3.5A power supply, so a little extra margin for current. >=20 > /boot/efi/config.txt has: Definitely RPi4B specific: > over_voltage=3D6 > arm_freq=3D2000 > sdram_freq_min=3D3200 > force_turbo=3D1 > (Reliable operation, with margin, on the mix of v1.1, v1.4, and v1.5 > RPi4B's that I have access to, 8 total.) >=20 > So: 2 GHz overclocking, using a fixed rate. >=20 > USB3 media: U2 Optane 960 GB media via a powered USB3 adaptor. That media is also used with the RPi5. > Kernel has: "arm64: improve UVA layout for 32bit processes" > ( main's 967022aa5aa6 ). So an armv7 process can be somewhat > over 3 GiBytes for its address space. >=20 > Boot aarch64 env: a PkgBase world and kernel.GENERIC-NODEBUG pair. The kernel choice was only used on the RPi4B, the world applies to the RPi5 as well. > FYI: >=20 > # uname -apKU > FreeBSD aarch64-main-pkgs 15.0-CURRENT FreeBSD 15.0-CURRENT = main-n268514-61b88a230bac GENERIC-NODEBUG arm64 aarch64 1500014 1500014 >=20 >=20 > 4th: Configuration points unique to the OrangePi+2ed context. >=20 > /usr/local/etc/poudriere.conf has . . . >=20 > USE_TMPFS=3Dno >=20 > (Based on the smaller RAM --and smaller RAM+SWAP for avoiding > potential-mistuning notices.) >=20 > /usr/local/etc/poudriere.d/make.conf has . . . >=20 > MAKE_JOBS_NUMBER_LIMIT=3D2 >=20 > (Based on the smaller RAM --and smaller RAM+SWAP for avoiding > potential-mistuning notices-- but wanting to still have margin > for bigger peak RAM+SWAP use than the example happens to do.) >=20 > RAM =3D=3D 2 GiBytes > RAM+SWAP =3D=3D 5.6 GiBytes > (Note armv7 has a smaller RAM multiplier limit without > warning of potential swap-related mistuning: "total > configured swap (? pages) exceeds maximum recommended > amount (? pages)" with "increase kern.maxswzone or reduce > amount of swap".) >=20 > In /etc/rc.conf I have: >=20 > if [ "`sysctl -i -n hw.fdt.model`" =3D=3D "Xunlong Orange Pi Plus 2E" = ]; then > sysctl dev.cpu.0.freq=3D1008 > /dev/null > fi >=20 > In other words: a fixed 1GHz or so clock rate is used. >=20 > USB2 media: Actually USB3 media that also supports USB2 > use. 1 TB Samsung Touch T7 (NVMe based) via a powered hub, > a USB3-capable one. >=20 >=20 >=20 > Side note: >=20 > I've no clue how to judge any tradeoff consequences for > "increase kern.maxswzone" for judging reasonableness of > such an action. =3D=3D=3D Mark Millard marklmi at yahoo.com