From nobody Fri Mar 15 08:38:25 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 4TwyMV5j59z5CwBW for ; Fri, 15 Mar 2024 08:38:46 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic310-20.consmr.mail.gq1.yahoo.com (sonic310-20.consmr.mail.gq1.yahoo.com [98.137.69.146]) (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 4TwyMT33txz4nVs for ; Fri, 15 Mar 2024 08:38:45 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=mI6zYn2g; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.146 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710491921; bh=2O+luGT22wimUdgYumop4DF/JGGxKWXAo+zH/e7OCwg=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=mI6zYn2gVBYLHDeOpvfHU2jBdeta/DOJK2Q1Q3NJLi6iOx7ZB9uog1G7POiFxpmqk+omsqoxFlSdcZ2QKyoo4YOQuBWWmKXQouZHEpKMmrP9P6NHCEo8TC2YXskhO6yaZctUpkarik39QCn4CFj6eQdNcwyN4c0Uvek1KMcais2o7QF1zBdaYUEjxogmt9XGo9iL812TuW96DMEAPUILY9uY9g8BZiK9E8iUi3TCOJIX08ihk1POLCa4T8sW8EhwCJ/wW5nEAp68AKxPC5CsFlfxp782UqSWKkuXH5t3UqzFR1rYtLXfI6+4gjqiD4ZIUTibg3ManvlDJbJnmi21OQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710491921; bh=TNHhyTBzcwBzCWo6XqGk90FNfp8KCo0co8fWv7nbKJl=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=R15iWymm9kuzpmwnjCX3ksKghovFjFSsg38KwghXx3dP/7tjpJdD2mqz0rYwMmvKVzOETGjNS+JBX1F62ABk0kbu0od6b/07ermP3lcoI1zJQhm2+KaQz7XdDsj4XdRAyRitF5uFtU7kYl9E11F97O5B4d6j1DHk+aeV/VcbfzeWDf8iRWwCemOD/s7MGLnPK64nvY+rwsdBXl8LZbI3qRN+3T24e7TCZhtcPfiez0lqC8BHJo3PSj6yY8XchIyBf8nMPwDvQF6QpDM7uBhYtvDn4jmzSiD2SwfiBA1+jDTFdxjjipe1px5jzevpX58yxwyKo3aqeJAGevo96YzZVQ== X-YMail-OSG: 7.wzzhMVM1lmEmMOCVH12TDGXeMx5oaDgWbJ9hq9uHjpvkGdYrD_pK7m2aqzXP_ 8ZTOkVqy9gbGZ9DO_7GeZdpX88dMFm_ax7PMS35IA6.AYy7gwkjlKb3eV6HMsBAy4.orKRKEUew3 l_5yDfcIlwRBp5.tD9rIwZXaLs6j9CoeFYRLGfzZi21IvebHRW4jjq_ZZQ3RJnbnWKZl.xVopqoE 24LlCMseTe2mDy0DXhD7werf.vvw_qaJ5JTALrbU3XBTpxRVigSjNaoOZ9tAZzX3zTKZwKzOYGNw 2Fs0L3gmC9VMYvv4J3QoHnCIgVLI.yuzAfj39XInAf7MneNdRNAr9rJIVCgboxi_Zdm49NisyCyA yz8vF5aizax8XZ25981eyZRTGba2.sqolK5Kgy8uk4WKONtx.2392VFdg_y4E35Uu5Qmx_ekKBaw kGcZbTEPJk5vzotY755wDl.RiJrqlG12NU6ow6eFnsvEYBv9pe_MoZVmtTUTP_CiACrDdsumbVQs vCSeJ3h5UbAoyapILsD5DGy_.v39LMpIZgJ6fmvb3lSPA7IQYXnFD6fppdLMQwg8bDM5wh6nBtzA 4.eg_iDiL4wd5.i2kzP01.68xvjcgPHpaT29GllE1JwmAw84JdHG2pPZIElWbNFOUZbmgCgP_yQO 8TWOWwy7GvwQK1dv4B3CxV_dfLoR1nsm_41IWVVr._oPzzq2BRIOH_iv4HKwjzKdoWzmOSWpBrNw Y9heYmhfTvXQ9pOhaF7qYX9rcwMbiEhwEOq79We.uokGzaOCukbRCeunYt_icPR1bFZwfwkwVXj1 VmPGw2XYy9fBHv.ei9g5PHie2uKJlr7R2Paxb2zxr5yXR1XU2BSpxf2vKkBGo7jzK7mJ0WDiWqnQ kQ7JSpLnCM9t7mLhV4vvWArjZfyy7dwivmEGTeFYk9sVatvnQ0EDMPpJGC7fWYCqmNvl7Tt6YKYR HpJSSLnkBcIzi8cQrivrEziDRI6pCj7V7vXXX61M3urLUxVc5wMG_44.SVvt38Uq_7.cZRk7aIK2 bqmEMhsgfx6BwN6fv77ytEt3oSlTpviGhHHg7SE3BwN0eDXjhRptvROSjFJQoRroOhBqYB9tm4UK .RWkfSCRlSmGtTQk7FxebToA1x0TzqyepU7cpxLzxzuhNIlW_llgzEDEdlKZ0DNik_UnId67M321 qGTMZ89MPoMejEbZVaL7cgzXI_eSbkUBAJ.RXfHvmg5STmnHsEIWtG4.y9t2LHsAnHPkc3bgiAHh slJFUjIPrBdScf.fbWzoKlZWLy5eT64aOgxSfRDgxIHgMzim74m4dRMcWBMSHqflQHGH7XtQRabG in3IwAVec7b07OKEcxMCFcwj3BRLobygvVXskS.rTSBPSXGA48MTzkhtdbG.T7_8xTBzd7J4OveY PLW675FvuwTLWgTx4k71a4IsVnKzrmK20wQvzPDXt698odfkjPUTIZImYR7qayhvHJEgpClNcWOI VJL1fAFjPwSTmfJs.YIu7PIl.cOjcXN0wdJ0kbNa1P6ifU3tE8IT58SsIQVKaRQbbf.qHaQZgIk6 4hzlbwbUaHZGk8KLcqQ1VZTkxGg73VcaXlb0Vh98VrZ6uW4yLU1AW9IFzvFpB29DIMl8.u4K9NjK 3jPmRmd9emnLv6wtGlRt21GCU5mlD8u30otyeFdOqY0tZc9pNsn6NZRiNyyIwyaKOENb1IBF51i2 cLrBJ1J8yaIYt41RaBtF5qWuFcmNxcNPO5Z5aDVRZTNEnBWUPTjOE_utdV1wFj_Q86QqX7TZXx4x QrhU7Y54pw58N9AvCX_sXYMZN2ajZ5luAaeb.cp8CIhFK5Iz_B34Y2l.yjbszjDqhwEgyU.cBckF idz5yEuqOE8F2OgMH4lIZJNAar_zyL7BWTzWwXvzoItvnJJFG8y1Kw5MLFSFmQH4G0TjL6eeS8aH ZA8ti7qbdOGXIMZMSLvUnF.LRHy8OFqO.T0N8V7f.a_VPaoIk5jFP0eimPrNsCTvGDWev5KxMsRp kUD2Qf6QlA86M58UOsU.fT4UTiIP03bc7lCUJ94sKmvij2RXj4xdnmJZs8bce425XT7p.fUPmzlp XNmrU8T0tlwlKNln8BsfEbl7voUqfWQvnZparCrft2JUMFWU895QROVv_4_y9cChtNylb6lWpujD 5m6kKFHB_nn8KXD5340osNzq5qmpBqhOLMcwH6Mwg47XAeQfhVZ3E9iO4CdxSsDv3HrlZVc5omPI hbrOmJaIg0fXmCiy4wKu7r8MB0oHYwai589aT6n8c4yP.T5mtzescWwZU1U0y9kmch9mWGMqSPAq 1fs_qJw-- X-Sonic-MF: X-Sonic-ID: ebe75a5b-d574-4021-a431-2c8fb5143f4c Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.gq1.yahoo.com with HTTP; Fri, 15 Mar 2024 08:38:41 +0000 Received: by hermes--production-gq1-5c57879fdf-llxbt (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID bae93517fa72f6315355d3ae6f0c4e25; Fri, 15 Mar 2024 08:38:36 +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 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 01:38:25 -0700 Cc: Nuno Teixeira Content-Transfer-Encoding: quoted-printable Message-Id: <867B8EBD-820C-41B6-9B5D-307AD9506343@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.69.146:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.146:from] X-Rspamd-Queue-Id: 4TwyMT33txz4nVs 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. >=20 > 3rd: Configuration points unique to the RPi4B context. >=20 > 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.) >=20 >=20 > 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 > Note: 4364Mi MaxObs(Act+Wir+Lndry+SwapUsed) ("MaxObs": short for = "Maximum Observed") > Note: SwapUsed maximum: 0 (none used). >=20 > So, for an 8 GiByte RAM RPI4B, RAM+SWAP configured to be 38 GiBytes or = so: > Estmate: 38.0 GiBytes/4.3 GiBytes approx.=3D=3D 8.8 > Result: Lots of margin for builds that use more RAM+SWAP. >=20 > So, for an 4 GiByte RAM RPI4B, RAM+SWAP configured to be 18 GiBytes or = so: > Estimate: 18.0 GiBytes/4.3 GiBytes approx.=3D=3D 4.1 > Result: Also lots of margin for builds that use more RAM+SWAP. I did the experiment of trying PARALLEL_JOBS=3D3 instead of PARALLEL_JOBS=3D2 , still MAKE_JOBS_NUMBER_LIMIT=3D3 . It took a little longer: [1D:08:52:32] Stopping 3 builders [main-CA7-default] [2024-03-13_16h27m18s] [committing] Queued: 265 = Built: 265 Failed: 0 Skipped: 0 Ignored: 0 Fetched: 0 Tobuild: 0 = Time: 1D:08:52:35 (As the load averages are significantly more than the available hardware thread count and vary significantly, comparing individual package build times is not particularly useful. So I'm not reporting any example times for packages.) At some point I'll likely try the PARALLEL_JOBS=3D2 MAKE_JOBS_NUMBER_LIMIT=3D3 combination on a RPI4B that has 4 GiBytes of RAM. I really need the memory pressure involved in significant paging to get reasonable estimates for RAM+SWAP requiments, avoiding just ending up with a large Inact accumulation with an unknown mix of dirty pages and clean pages. But, I'll likely try the RPi5 (8 GiBytes) first, now that the RPi5 EDK2 has fixed what the problem was that lead to unreliable USB I/O for UEFI/ACPI. (I'll likely use an artifact build since the release build looks to not be present yet.) > 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. >=20 > 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. >=20 > /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. >=20 >=20 > 3rd: Configuration points unique to the RPi4B context. >=20 > /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: >=20 > 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. >=20 > 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. > 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. >=20 =3D=3D=3D Mark Millard marklmi at yahoo.com