Re: armv8.2-A+ tuned FreeBSD kernels vs. poudriere bulk and USB3 media: tx->tx_quiesce_done_cv related blocking of processes?
- Reply: Mark Millard : "Re: armv8.2-A+ tuned FreeBSD kernels vs. poudriere bulk and USB3 media: tx->tx_quiesce_done_cv related blocking of processes?"
- In reply to: Mark Millard : "Re: armv8.2-A+ tuned FreeBSD kernels vs. poudriere bulk and USB3 media: tx->tx_quiesce_done_cv related blocking of processes?"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 01 May 2023 19:57:01 UTC
On Apr 30, 2023, at 18:57, Mark Millard <marklmi@yahoo.com> wrote: > On Apr 30, 2023, at 17:44, Mateusz Guzik <mjguzik@gmail.com> wrote: > >> can you redo zfs test with: >> sysctl vfs.zfs.per_txg_dirty_frees_percent=5 > > Sure. > > Result summary: Seems to have avoided the sustained periods > of low load average activity. Much better for the context. > > > Context: Original ZFS USB3 media. World or Kernel in use > had been built (non-debug style) using: > > -mcpu=cortex-a78C+flagm+nofp16fml > > > Steps for this test . . . > > # poudriere pkgclean -A -jmain-CA78C > . . . > > # sysctl vfs.zfs.per_txg_dirty_frees_percent=5 > vfs.zfs.per_txg_dirty_frees_percent: 30 -> 5 > > # grep USE_TMPFS= /usr/local/etc/poudriere.conf > # EXAMPLE: USE_TMPFS="wrkdir data" > USE_TMPFS="data" > #USE_TMPFS=all > > # poudriere bulk -jmain-CA78C -w -f ~/origins/CA78C-origins.txt > . . . > > At 15 minutes into the build: > 46 ports in 1st 15 minutes. Load average stayed reasonable > for the configuration. > > At 30 minutes into the build: > 102 ports in 1st 30 minutes. Load average still reasonable > for the configuration. > > Looks good compared to before. > > > I've no clue what optimal would be for the context, but > > vfs.zfs.per_txg_dirty_frees_percent=5 > > is vastly better for the context than the default 30 was. > > Thanks. > > > I'm going to stop the test and do the conversion to the > U2 960GB Optane media in the USB3 adaptor and then > compare USE_TMPFS=data vs. USE_TMPFS=all --but using your > vfs.zfs.per_txg_dirty_frees_percent=5 assignment. > Took a while to actually get around to stopping the test. It got 186 of the ports built in the 1st hour. (A from scratch build, starting with building pkg.) I finally have started the U2 960GB Optane based tests, currently USE_TMPFS=data . The initial activity looks like it might build about as many ports as the earlier USE_TMPFS=all test (for different media, vfs.zfs.per_txg_dirty_frees_percent being 30). . . . waiting . . . It got 222 of the ports built in the 1st hour, again starting with pkg. That compares to 262 for the earlier USE_TMPFS=all test. None of these ports form the first hour are large, long running port builds, none using large scale amounts of storage space for its builder. (As I build things, rust for example, uses 17GiBytes+ of file system space, more than half of the size of the RAM in the Windows Dev Kit 2023 for USE_TEMPFS=all just for file system content.) Now for a USE_TMPFS=all build test with vfs.zfs.per_txg_dirty_frees_percent being 5 . I may try letting that run to completion. (The configuration has 118 GiBytes of swap for paging activity.) === Mark Millard marklmi at yahoo.com