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
Date: Thu, 09 Nov 2023 03:19:15 UTC
[Just supplying a missing leading digit in a numeral.] On Nov 4, 2023, at 05:53, Mark Millard <marklmi@yahoo.com> wrote: > On Nov 2, 2023, at 19:26, Mark Millard <marklmi@yahoo.com> wrote: > >> On Nov 2, 2023, at 18:00, Mark Millard <marklmi@yahoo.com> wrote: >> >>> 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) The above line should have been: 256332Mi 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 should have explained the MaxObsWired figure that I reported. It is messy >> to report usefully because of ARC use of wired that increase when the machine >> does not have RAM use pressure restricting its size and decreases when there >> is such memory pressure. >> >> The 21483Mi figure is from a time later in the bulk -a where the pressure was >> still in place (but monitoring had started before the ARC had grown >> significantly after the boot). >> >> Now that the bulk -a is done: >> >> [main-amd64-bulk_a-default] [2023-11-01_07h14m50s] [committing:] Queued: 34683 Built: 33826 Failed: 179 Skipped: 358 Ignored: 320 Fetched: 0 Tobuild: 0 Time: 35:37:55 >> >> and the tail of the activity did not cause such pressure the figure is: >> >> 90443Mi MaxObsWired >> >> MaxObsActive did not change but 94493Mi MaxObs(Act+Wir+Lndry) was slightly >> smaller in the 21483Mi MaxObsWired time frame: 94437Mi MaxObs(Act+Wir+Lndry) . >> >> The "Swap-involved MaxObs figures" did not change. >> >> Note: textproc/stardict-quick did lead to the overall mean being more like >> 949 port->package builds per hour, spanning somewhat under 1.5 days. >> >>> 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.) > > The experiment failed: "Too many links" under logs/bulk/latest-per-pkg/ > and then "Failed: starting". (Lots of such messages.) > > In other words, UFS hits a 16 bit field limitation associated with: > > /usr/include/ufs/ufs/dinode.h:#define UFS_LINK_MAX 32767 > > and poudriere bulk does nothing to avoid hitting the limitation, > given that there are more buildable ports than that now. > >>> Note: MaxObs(A+B+C) <= MaxObs(A)+MaxObs(B)+MaxObs(C) > === Mark Millard marklmi at yahoo.com