Date: Tue, 12 Jul 2022 08:41:01 +0000 From: Evgeniy Khramtsov <evgeniy@khramtsov.org> To: Ryan Moeller <freqlabs@FreeBSD.org> Cc: FreeBSD-CURRENT@FreeBSD.org Subject: Re: BLAKE3 unstability? Message-ID: <20220712084101.iqvwyfuhge6myteq@vax.khramtsov.org> In-Reply-To: <be7f6fb2-1215-c6d1-73da-fc15571b66be@FreeBSD.org> References: <20220709162640.7my2bq6rax5npdhf@vax.khramtsov.org> <20220709175605.ofkoft2mglrkaqpf@vax.khramtsov.org> <fab2145d-0a0c-aa62-9866-717d3f8c51d5@FreeBSD.org> <be7f6fb2-1215-c6d1-73da-fc15571b66be@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> > > I can reproduce via: > > > > > > $ truncate -s 10G /tmp/test > > > $ mdconfig -f /tmp/test -S 4096 > > > $ zpool create test /dev/md1 > > > $ zfs create -o checksum=blake3 test/b > > > $ dd if=/dev/random of=/test/b/noise bs=1M count=4096 > > > $ sync > > > $ zpool scrub test > > > $ zpool status > > > > I cannot reproduce this on openzfs/zfs@cb01da68057 (the commit that was > > most recently merged) built out of tree on either stable/13 70fd40edb86 > > or main 9aa02d5120a. > > > > I'll update a system and see if I can reproduce it with the in-tree ZFS. > > > > - Ryan > > > It did not reproduce for me with in-tree ZFS on main@3c9ad9398fcd either. > > Could you share sysctl kstat.zfs.misc.chksum_bench, maybe we are using > different implementations? > I do see that blake3 went in with only a Linux module parameter for the > implementation selection, so I'll have to fix that. For now we can at least > see which was fastest, which should be the one selected. You just won't be > able to manually change it to see if that helps. > > - Ryan I found the culprit (kernel and base from download.FreeBSD.org kernel.txz and base.txz respectively) (I forgot about local sysctl.conf...): kern.sched.steal_thresh=1 kern.sched.preempt_thresh=121 Then #!/bin/sh truncate -s 10G /tmp/test mdconfig -f /tmp/test -S 4096 zpool create test /dev/md0 zfs create -o checksum=blake3 test/b dd if=/dev/random of=/test/b/noise bs=1M count=4096 sync zpool scrub test sleep 3 zpool status zpool destroy test mdconfig -d -u 0 rm /tmp/test As for ULE "tuning", these values give me fine desktop interactivity when building lang/rust when nice and idprio did not help, so I left them in sysctl.conf. Not sure if scheduling parameters are worthy of a ZFS PR, maybe something essential is preempted.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20220712084101.iqvwyfuhge6myteq>