Re: Trying initial boot of FreeBSD (main so: 15) of Ryzen 9 7950X3D on an ASUS Prime X670-P WIFI: various dmesg -a lines; more

From: Mark Millard <marklmi_at_yahoo.com>
Date: Fri, 03 Nov 2023 01:00:18 UTC
On Nov 1, 2023, at 17:32, Mark Millard <marklmi@yahoo.com> wrote:

> On Nov 1, 2023, at 06:02, Mark Millard <marklmi@yahoo.com> wrote:
> 
>> On Nov 1, 2023, at 05:43, Mark Millard <marklmi@yahoo.com> wrote:
>> 
>>> On Nov 1, 2023, at 05:39, Mark Millard <marklmi@yahoo.com> wrote:
>>> 
>>>> On Oct 31, 2023, at 23:00, Mark Millard <marklmi@yahoo.com> wrote:
>>>> 
>>>>> FreeBSD context:
>>>>> 
>>>>> # uname -apKU
>>>>> FreeBSD amd64-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT #126 main-n266130-d521abdff236-dirty: Tue Oct 24 18:17:40 PDT 2023     root@amd64-ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG amd64 amd64 1500002 1500002
>>>>> 
>>>>> I moved my FreeBDSS boot media from a ThreadRipper 1950X to a Ryzen 9 7950X3D and tried
>>>>> booting. It booted but some of the following might be of some note. Is any of it likely
>>>>> to be problematical? Any of it of particular interest to anyone?
>>>>> 
>>>>> . . .
>>>>> Firmware Error (ACPI): Could not resolve symbol [\134_SB.PCI0.GPP7.UP00.DP40.UP00.DP68], AE_NOT_FOUND (20221020/dswload2-315)
>>>>> ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20221020/psobject-372)
>>>>> . . .
>>>>> pci0: <base peripheral, IOMMU> at device 0.2 (no driver attached)
>>>>> . . .
>>>>> pci8: <network, ethernet> at device 0.0 (no driver attached)
>>>>> . . .
>>>>> pci9: <network> at device 0.0 (no driver attached)
>>>>> . . .
>>>>> pci15: <encrypt/decrypt> at device 0.2 (no driver attached)
>>>>> . . .
>>>>> ns8250: UART FCR is broken
>>>>> ns8250: UART FCR is broken
>>>>> . . .
>>>>> intsmb0: <AMD FCH SMBus Controller> at device 20.0 on pci0
>>>>> intsmb0: Could not allocate I/O space
>>>>> device_attach: intsmb0 attach returned 6
>>>>> intsmb0: <AMD FCH SMBus Controller> port 0xff00-0xff0f at device 20.0 on pci0
>>>>> intsmb0: Could not allocate I/O space
>>>>> device_attach: intsmb0 attach returned 6
>>>>> . . .
>>>>> intsmb0: <AMD FCH SMBus Controller> at device 20.0 on pci0
>>>>> intsmb0: Could not allocate I/O space
>>>>> device_attach: intsmb0 attach returned 6
>>>>> intsmb0: <AMD FCH SMBus Controller> port 0xff00-0xff0f at device 20.0 on pci0
>>>>> intsmb0: Could not allocate I/O space
>>>>> device_attach: intsmb0 attach returned 6
>>>>> acpi_wmi0: <ACPI-WMI mapping> on acpi0
>>>>> acpi_wmi0: cannot find EC device
>>>>> acpi_wmi0: Embedded MOF found
>>>>> ACPI: \134AWW0.WQMO: 1 arguments were passed to a non-method ACPI object (Buffer) (20221020/nsarguments-361)
>>>>> acpi_wmi1: <ACPI-WMI mapping> on acpi0
>>>>> acpi_wmi1: cannot find EC device
>>>>> acpi_wmi1: Embedded MOF found
>>>>> ACPI: \134ABAW.WQMO: 1 arguments were passed to a non-method ACPI object (Buffer) (20221020/nsarguments-361)
>>>>> acpi_wmi2: <ACPI-WMI mapping> on acpi0
>>>>> acpi_wmi2: cannot find EC device
>>>>> acpi_wmi2: Embedded MOF found
>>>>> ACPI: \134RMTW.WQMO: 1 arguments were passed to a non-method ACPI object (Buffer) (20221020/nsarguments-361)
>>>>> acpi_wmi3: <ACPI-WMI mapping> on acpi0
>>>>> acpi_wmi3: cannot find EC device
>>>>> acpi_wmi3: Embedded MOF found
>>>>> ACPI: \134AOD.WQBA: 1 arguments were passed to a non-method ACPI object (Buffer) (20221020/nsarguments-361)
>>>>> driver bug: Unable to set devclass (class: ppc devname: (unknown))
>>>>> . . .
>>>>> acpi_wmi4: <ACPI-WMI mapping> on acpi0
>>>>> acpi_wmi4: cannot find EC device
>>>>> acpi_wmi4: Embedded MOF found
>>>>> ACPI: \134_SB.ATKD.WQMO: 1 arguments were passed to a non-method ACPI object (Buffer) (20221020/nsarguments-361)
>>>>> driver bug: Unable to set devclass (class: ppc devname: (unknown))
>>>>> . . .
>>>>> mixer: speaker: no such device
>>>>> mixer: speaker: no such device
>>>>> mixer: line: no such device
>>>>> mixer: line: no such device
>>>>> mixer: mic: no such device
>>>>> mixer: mic: no such device
>>>>> mixer: mic: no such device
>>>>> mixer: mix: no such device
>>>>> mixer: mix: no such device
>>>>> mixer: rec: no such device
>>>>> mixer: rec: no such device
>>>>> mixer: igain: no such device
>>>>> mixer: igain: no such device
>>>>> mixer: ogain: no such device
>>>>> mixer: ogain: no such device
>>>>> mixer: rec: no such device
>>>>> mixer: rec: no such device
>>>>> mixer: igain: no such device
>>>>> mixer: igain: no such device
>>>>> mixer: ogain: no such device
>>>>> mixer: ogain: no such device
>>>>> mixer: monitor: no such device
>>>>> mixer: monitor: no such device
>>>>> mixer: monitor: no such device
>>>>> . . .
>>>>> uhid2 on uhub0
>>>>> uhid2: <Corsair CORSAIR iCUE COMMANDER Core, class 0/0, rev 2.00/1.00, addr 3> on usbus1
>>>>> devmatch: devinfo_init: Invalid argument
>>>>> uhid3 on uhub4
>>>>> uhid3: <Corsair CORSAIR M55 RGB PRO Gaming Mouse, class 0/0, rev 2.00/4.07, addr 1> on usbus0
>>>>> . . . 
>>>>> uhid4 on uhub4
>>>>> uhid4: <Corsair CORSAIR K55 RGB PRO Gaming Keyboard, class 0/0, rev 1.10/1.02, addr 2> on usbus0
>>>>> devmatch: devinfo_init: Invalid argument
>>>>> uhid6 on uhub4
>>>>> uhid6: <Corsair CORSAIR K55 RGB PRO Gaming Keyboard, class 0/0, rev 1.10/1.02, addr 2> on usbus0
>>>>> . . .
>>>>> pci0:8:0:0: no VPD ident found
>>>>> . . .
>>>>> 
>>>>> I used a USB3 Ethernet dongle in order to have Ethernet available.
>>>>> 
>>>>> For reference:
>>>>> 
>>>>> # pciconf -lvV | less
>>>>> . . .
>>>>> none0@pci0:0:0:2:       class=0x080600 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14d9 subvendor=0x1043 subdevice=0x8877
>>>>> vendor     = 'Advanced Micro Devices, Inc. [AMD]'
>>>>> class      = base peripheral
>>>>> subclass   = IOMMU
>>>>> . . .
>>>>> none1@pci0:0:20:0:      class=0x0c0500 rev=0x71 hdr=0x00 vendor=0x1022 device=0x790b subvendor=0x1043 subdevice=0x8877
>>>>> vendor     = 'Advanced Micro Devices, Inc. [AMD]'
>>>>> device     = 'FCH SMBus Controller'
>>>>> class      = serial bus
>>>>> subclass   = SMBus
>>>>> . . .
>>>>> none2@pci0:8:0:0:       class=0x020000 rev=0x05 hdr=0x00 vendor=0x10ec device=0x8125 subvendor=0x1043 subdevice=0x87d7
>>>>> vendor     = 'Realtek Semiconductor Co., Ltd.'
>>>>> device     = 'RTL8125 2.5GbE Controller'
>>>>> class      = network
>>>>> subclass   = ethernet
>>>>> none3@pci0:9:0:0:       class=0x028000 rev=0x00 hdr=0x00 vendor=0x10ec device=0xb852 subvendor=0x1a3b subdevice=0x5471
>>>>> vendor     = 'Realtek Semiconductor Co., Ltd.'
>>>>> class      = network
>>>>> . . .
>>>>> none4@pci0:15:0:2:      class=0x108000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1649 subvendor=0x1043 subdevice=0x8877
>>>>> vendor     = 'Advanced Micro Devices, Inc. [AMD]'
>>>>> device     = 'VanGogh PSP/CCP'
>>>>> class      = encrypt/decrypt
>>>>> . . .
>>>>> 
>>>>> 
>>>>> 
>>>>> Example temperatures (while idle, ambient around 20 DegC):
>>>>> 
>>>>> # kldload amdtemp
>>>>> # sysctl dev.amdtemp
>>>>> dev.amdtemp.0.ccd1: 33.0C
>>>>> dev.amdtemp.0.ccd0: 34.6C
>>>>> dev.amdtemp.0.core0.sensor0: 39.6C
>>>>> dev.amdtemp.0.sensor_offset: 0
>>>>> dev.amdtemp.0.%parent: hostb0
>>>>> dev.amdtemp.0.%pnpinfo:  dev.amdtemp.0.%location:  dev.amdtemp.0.%driver: amdtemp
>>>>> dev.amdtemp.0.%desc: AMD CPU On-Die Thermal Sensors
>>>>> dev.amdtemp.%parent: 
>>>>> 
>>>>> Example during llvm build activity during buildworld:
>>>>> 
>>>>> # sysctl dev.amdtemp
>>>>> dev.amdtemp.0.ccd1: 60.5C
>>>>> dev.amdtemp.0.ccd0: 67.2C
>>>>> dev.amdtemp.0.core0.sensor0: 77.1C
>>>>> . . .
>>>>> 
>>>>> (Of course, the cooling system in place contributes greatly.)
>>>>> 
>>>>> 
>>>>> Example from scratch builds (of my usual style of personal builds):
>>>>> 
>>>>> ThreadRipper 1950X: World built in 1345 seconds, ncpu: 32, make -j32
>>>>> Ryzen 9 7950X3D:    World built in 545 seconds, ncpu: 32, make -j32
>>>>> 
>>>>> ThreadRipper 1950X: Kernel(s)  GENERIC-NODBG built in 123 seconds, ncpu: 32, make -j32
>>>>> Ryzen 9 7950X3D:    Kernel(s)  GENERIC-NODBG built in 51 seconds, ncpu: 32, make -j32
>>>>> 
>>>>> Note: It is the same media in use: PCIe Optane moved from the 1950X
>>>>> to the 7950X3D, ZFS (for bectl use, not other reasons ZFS is commonly
>>>>> used for).
>>>>> 
>>>>> ThreadRipper 1950X: 128 GiBytes of RAM. Swap parition was 480 GiBytes at the time.
>>>>> Ryzen 9 7950X3D:     96 GiBytes of RAM. Swap parition changed to 364 GiBytes.
>>>>> 
>>>>> (That avoids the swapon warning about possibly being out of tune vs. the amount of
>>>>> RAM.)
>>>> 
>>>> 
>>>> An ongoing poudriere bulk -a test looks to have a stuck objdump ( used for building
>>>> www/node18 ):
>>>> 
>>>> # ps -oetime -alxdww | grep node18
>>>> 05:48:03   0 44960 53404 21  68  0   18544    2892 select   I     0     0:00.03 | |       |-- sh: poudriere[main-amd64-bulk_a-default][15]: build_pkg (node18-18.18.2) (sh)
>>>> 05:47:36   0 76480 44960 21  68  0   18544    2892 wait     I     0     0:00.00 | |       | `-- sh: poudriere[main-amd64-bulk_a-default][15]: build_pkg (node18-18.18.2) (sh)
>>>> 05:47:36   0 76485 76480 19  68  0   12896     276 wait     IJ    0     0:00.01 | |       |   `-- /usr/bin/make -C /usr/ports/www/node18 build
>>>> 05:47:36   0 77304 76485 22  68  0   13356     288 wait     IJ    0     0:00.00 | |       |     `-- /bin/sh -e -c (cd /wrkdirs/usr/ports/www/node18/work/node-v18.18.2; if ! /usr/bin/env CC.host=" cc"  CFLAGS.host="-O2 -pipe  -g -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing "  CXX.host=" c++"  CXXFLAGS.host="-O2 -pipe -g -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include "  LDFLAGS.host="  -fstack-protector-strong "  LINK.host="c++" OPENSSLBASE=/usr OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include OPENSSLLIB=/usr/lib XDG_DATA_HOME=/wrkdirs/usr/ports/www/node18/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/node18/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/www/node18/work/.cache  HOME=/wrkdirs/usr/ports/www/node18/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/www/node18/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/www/node18/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig DONTSTRIP=yes DONTSTRIP=yes MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  CC="cc" CFLAGS="-O2 -pipe  -g -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing "  CPP="cpp" CPPFLAGS="-isystem /usr/local/include"  LDFLAGS="  -fstack-protector-strong " LIBS="-L/usr/local/lib"  CXX="c++" CXXFLAGS="-O2 -pipe -g -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include "  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install   -m 555"  BSD_INSTALL_LIB="install   -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444" gmake -f Makefile -j32  all; then  if [ -n "Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer." ] ; then  echo "===> Compilation failed unexpectedly.";  (echo "Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer.") | /usr/bin/fmt 75 79 ;  fi;  false;  fi)
>>>> 05:33:34   0  7035 80309  9  26  0   22620    1312 piperd   SJ    0    32:56.31 | |       |           `-- /usr/local/bin/python3.9 tools/genv8constants.py /wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/obj/gen/v8constants.h /wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/obj.target/tools/v8_gypfiles/libv8_base_without_compiler.a
>>>> 05:33:32   0  8045  7035  9  94  0 4443576   15732 -        RJ    0    39:43.22 | |       |             `-- objdump -z -D /wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/obj.target/tools/v8_gypfiles/libv8_base_without_compiler.a
>>>> 00:00   0 98535  2129 23  20  0   12784    1836 piperd   S+    2     0:00.00 |     `-- grep node18
>>>> 
>>>> For reference:
>>>> 
>>>> # ~/fbsd-based-on-what-commit.sh -C /usr/ports/
>>>> 6ec8e3450b29 (HEAD -> main, freebsd/main, freebsd/HEAD) devel/sdts++: Mark DEPRECATED
>>>> Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
>>>> Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
>>>> CommitDate: 2023-10-21 19:01:38 +0000
>>>> branch: main
>>>> merge-base: 6ec8e3450b29462a590d09fb0b07ed214d456bd5
>>>> merge-base: CommitDate: 2023-10-21 19:01:38 +0000
>>>> n637598 (--first-parent --count for merge-base)
>>>> 
>>> 
>>> Looks like www/node16 has the same sort of issue as www/node18 :
>>> 
>>> # ps -oetime -alxdww | grep node16
>>> 02:24:49   0 58471 53404 30  68  0   18544   2884 select   I     0     0:00.03 | |       |-- sh: poudriere[main-amd64-bulk_a-default][17]: build_pkg (node16-16.20.1_1) (sh)
>>> 02:15:35   0  1626 58471 18  68  0   18544   2884 wait     I     0     0:00.00 | |       | `-- sh: poudriere[main-amd64-bulk_a-default][17]: build_pkg (node16-16.20.1_1) (sh)
>>> 02:15:35   0  1655  1626 21  68  0   12896    276 wait     IJ    0     0:00.02 | |       |   `-- /usr/bin/make -C /usr/ports/www/node16 build
>>> 02:15:34   0  2154  1655 11  68  0   13356    280 wait     IJ    0     0:00.00 | |       |     `-- /bin/sh -e -c (cd /wrkdirs/usr/ports/www/node16/work/node-v16.20.1; if ! /usr/bin/env OPENSSLBASE=/usr OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include OPENSSLLIB=/usr/lib XDG_DATA_HOME=/wrkdirs/usr/ports/www/node16/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/node16/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/www/node16/work/.cache  HOME=/wrkdirs/usr/ports/www/node16/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/www/node16/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/www/node16/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig DONTSTRIP=yes DONTSTRIP=yes MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  CC="cc" CFLAGS="-O2 -pipe  -g -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing "  CPP="cpp" CPPFLAGS="-isystem /usr/local/include"  LDFLAGS="  -fstack-protector-strong " LIBS="-L/usr/local/lib"  CXX="c++" CXXFLAGS="-O2 -pipe -g -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -Wno-error=enum-constexpr-conversion -isystem /usr/local/include "  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install   -m 555"  BSD_INSTALL_LIB="install   -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444" gmake -f Makefile -j32 CC.host=" cc" CFLAGS.host="-O2 -pipe  -g -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing " CXX.host=" c++" CXXFLAGS.host="-O2 -pipe -g -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -Wno-error=enum-constexpr-conversion -isystem /usr/local/include " LINK.host=c++ LDFLAGS.host="  -fstack-protector-strong " all; then  if [ -n "Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer." ] ; then  echo "===> Compilation failed unexpectedly.";  (echo "Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintaine
>>> 01:55:30   0 84603  3452 15  47  0   22620   1312 -        RJ    0    14:00.49 | |       |           `-- /usr/local/bin/python3.9 tools/genv8constants.py /wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/obj/gen/v8constants.h /wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/obj.target/tools/v8_gypfiles/libv8_base_without_compiler.a
>>> 01:55:27   0 86093 84603 15 101  0 3754296  32540 -        RJ    0    16:59.56 | |       |             `-- objdump -z -D /wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/obj.target/tools/v8_gypfiles/libv8_base_without_compiler.a
>>> 00:00   0 84657  2129 29  20  0   12784   1812 piperd   S+    2     0:00.00 |     `-- grep node16
>>> 
>> 
>> For reference (node16's objdump then node18's):
>> 
>> # truss -p 86093
>> write(1,"  2ff853: 74 61                 "...,74) = 74 (0x4a)
>> write(1,"  2ff855: 45 4e                 "...,50) = 50 (0x32)
>> write(1,"  2ff857: 53                    "...,51) = 51 (0x33)
>> write(1,"  2ff858: 30 5f 36              "...,61) = 61 (0x3d)
>> write(1,"  2ff85b: 48 61                 "...,50) = 50 (0x32)
>> write(1,"  2ff85d: 6e                    "...,58) = 58 (0x3a)
>> write(1,"  2ff85e: 64 6c                 "...,61) = 61 (0x3d)
>> write(1,"  2ff860: 65 49 4e              "...,50) = 50 (0x32)
>> write(1,"  2ff863: 53                    "...,51) = 51 (0x33)
>> write(1,"  2ff864: 30 5f 39              "...,61) = 61 (0x3d)
>> write(1,"  2ff867: 42 79 74              "...,75) = 75 (0x4b)
>> write(1,"  2ff86a: 65 41 72 72           "...,74) = 74 (0x4a)
>> . . .
>> 
>> # truss -p 8045
>> write(1,"  16f4ca: 01 00                 "...,58) = 58 (0x3a)
>> write(1,"  16f4cc: 00 00                 "...,57) = 57 (0x39)
>> write(1,"  16f4ce: 00 00                 "...,57) = 57 (0x39)
>> write(1,"  16f4d0: ed                    "...,54) = 54 (0x36)
>> write(1,"  16f4d1: ae                    "...,62) = 62 (0x3e)
>> write(1,"  16f4d2: 0b 00                 "...,57) = 57 (0x39)
>> write(1,"  16f4d4: 00 00                 "...,57) = 57 (0x39)
>> write(1,"  16f4d6: 00 00                 "...,57) = 57 (0x39)
>> write(1,"  16f4d8: 0a 00                 "...,56) = 56 (0x38)
>> write(1,"  16f4da: 00 00                 "...,57) = 57 (0x39)
>> write(1,"  16f4dc: 09 00                 "...,57) = 57 (0x39)
>> write(1,"  16f4de: 00 00                 "...,57) = 57 (0x39)
>> write(1,"  16f4e0: d7                    "...,46) = 46 (0x2e)
>> write(1,"  16f4e1: a8 03                 "...,56) = 56 (0x38)
>> . . .
>> 
> 
> Turns out that my rare poudriere bulk -a runs are sometimes
> WITH_DEBUG experiments where most things are built using
> WITH_DEBUG. This was such an example.
> 
> I stopped the bulk -a and started a new from-scratch one
> based on not using WITH_DEBUG . node18 and node16 worked
> fine in this context. (The bulk -a is still running,
> building other ports into packages.)
> 
> (I've a gradually growing list of ports that end up with
> WITH_DEBUG nearly always undefined. Build failures and
> resource use can both lead to such a choice.)

The non-WITH_DEBUG bulk -a now has one thing left:

 ID  TOTAL                     ORIGIN   PKGNAME                PHASE PHASE    TMPFS    CPU% MEM%
[23] 01:25:09 textproc/stardict-quick | stardict-quick-2.4.2_9 fetch 01:24:39 1.33 GiB   0%   0%

that looks like the fetch may time out.

The last Finish to this point was:

[33:10:00] [32] [04:37:23] Finished emulators/libretro-mame | libretro-mame-20220124_1: Success

After which:

[main-amd64-bulk_a-default] [2023-11-01_07h14m50s] [parallel_build:] Queued: 34683 Built: 33825 Failed: 179   Skipped: 358   Ignored: 320   Fetched: 0     Tobuild: 1

So a mean of somewhat over 1000 port->package builds per hour, ignoring
textproc/stardict-quick .

As for the ports vintage:

# ~/fbsd-based-on-what-commit.sh -C /usr/ports/
6ec8e3450b29 (HEAD -> main, freebsd/main, freebsd/HEAD) devel/sdts++: Mark DEPRECATED
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2023-10-21 19:01:38 +0000
branch: main
merge-base: 6ec8e3450b29462a590d09fb0b07ed214d456bd5
merge-base: CommitDate: 2023-10-21 19:01:38 +0000
n637598 (--first-parent --count for merge-base)

I do have a environment that avoids various LLVM builds taking
as long to build :

llvm1[3-7]  : no MLIR, no FLANG
llvm1[4-7]  : use BE_NATIVE
other llvm* : use defaults (so, no avoidance)

I also prevent the builds from using strip on most of the install
materials built (not just toolchain materials).

I have a munged up top that records and reports various "maximum
observed" (MaxObs...) figures (or other such) based on its sampling.
This explains some notation below.

ALLOW_MAKE_JOBS=yes was used. No explicit restriction on PARALLEL_JOBS
or MAKE_JOBS_NUMBER (or analogous). So 32 builders allowed, each allowed
32 make jobs. This explains the high load average style of bulk -a :

load averages . . . MaxObs: 360.70, 267.63, 210.84
(Those need not be all from the same time frame during the bulk -a .)

Most of the reported load averages were 96+ for all 3 durations, at least
when I was looking.

The build used USE_TMPFS=all . 96 GiBytes of RAM (total across the 2 DIMMs).
372736Mi swap partition. ZFS on single partition on single drive, ZFS used
just for bectl reasons, not other typical use-ZFS reasons. I've not
controlled the ARC size-range explicitly.

Swap-involved MaxObs figures:
173310Mi MaxObsUsed
 56332Mi MaxObs(Act+Lndry+SwapUsed)
265551Mi MaxObs(Act+Wir+Lndry+SwapUsed)

So: having more than 260 GiBytes for RAM+SWAP is appropriate to the style
of build at the 32 hardware-thread scale with ZFS and the amount of RAM. I
had basically: 96 GiBytes RAM + 364 GiBytes swap partition == 460 GiBytes
RAM+SWAP.

The media is a PCIe Optane 905P card with 1.5T of space and it has the
372736Mi swap partition, not just the file system.

Just-RAM MaxObs figures:
81066Mi MaxObsActive
21483Mi MaxObsWired
94493Mi MaxObs(Act+Wir+Lndry)

I looked at the error logs for the failed builds and saw no evidence of
corruptions being involved. So far this system looks to be stable for
use for building software and such.

I may do a similar expriment on the UFS Optane 905P 1.5T
U2-in-PCIe-adapter media as well. (This configuration uses the swap
partition from the ZFS Optane media.)


Note: MaxObs(A+B+C) <= MaxObs(A)+MaxObs(B)+MaxObs(C)

===
Mark Millard
marklmi at yahoo.com