Page MenuHomeFreeBSD
Feed Advanced Search

Today

asomers closed D44908: geli.8: add some notes regarding performance tuning.
Wed, Apr 24, 1:54 PM
asomers committed rG4b7949144cfb: geli.8: add some notes regarding performance tuning (authored by asomers).
geli.8: add some notes regarding performance tuning
Wed, Apr 24, 1:54 PM

Yesterday

asomers updated the diff for D44908: geli.8: add some notes regarding performance tuning.
  • Respond to markj's feedback.
Tue, Apr 23, 5:27 PM
asomers added inline comments to D44908: geli.8: add some notes regarding performance tuning.
Tue, Apr 23, 5:26 PM

Mon, Apr 22

asomers requested review of D44908: geli.8: add some notes regarding performance tuning.
Mon, Apr 22, 10:33 PM
asomers committed rGc0f02dcd4c9c: geli.8: minor proofreading (authored by asomers).
geli.8: minor proofreading
Mon, Apr 22, 9:55 PM
asomers closed D44907: geli.8: minor proofreading.
Mon, Apr 22, 9:55 PM
asomers added a reviewer for D44907: geli.8: minor proofreading: manpages.
Mon, Apr 22, 9:13 PM
asomers requested review of D44907: geli.8: minor proofreading.
Mon, Apr 22, 9:12 PM
asomers committed rG3acf3feaa8c5: geli: add a read-only kern.geom.eli.use_uma_bytes sysctl (authored by asomers).
geli: add a read-only kern.geom.eli.use_uma_bytes sysctl
Mon, Apr 22, 7:21 PM
asomers closed D44904: geli: add a read-only kern.geom.eli.use_uma_bytes sysctl.
Mon, Apr 22, 7:21 PM
asomers added a comment to D44904: geli: add a read-only kern.geom.eli.use_uma_bytes sysctl.

Would it be worthwhile to document some of your performance findings in geli.8 or so? So that the next user to hit this problem doesn't have to redo your analysis and discover the relationship with vfs.zfs.vdev.aggregation_limit.

I was planning to follow up with a new tip in fortune(6) and at https://wiki.freebsd.org/ZFSTuningGuide . Do you think that would be sufficient or would you like geli(8) too?

I'm skeptical that fortune(6) is good place to document anything performance-related. ZFSTuningGuide seems like a good place, but I think geli.8 is the right document for this kind of knowledge. There are other performance considerations relating to GELI that have nothing to do with ZFS (GELI's thread-per-CPU-per-volume behaviour for instance) that would also belong in a "PERFORMANCE CONSIDERATIONS" section in geli.8.

Mon, Apr 22, 7:05 PM
asomers added a comment to D44904: geli: add a read-only kern.geom.eli.use_uma_bytes sysctl.

Would it be worthwhile to document some of your performance findings in geli.8 or so? So that the next user to hit this problem doesn't have to redo your analysis and discover the relationship with vfs.zfs.vdev.aggregation_limit.

Mon, Apr 22, 6:34 PM
asomers requested review of D44904: geli: add a read-only kern.geom.eli.use_uma_bytes sysctl.
Mon, Apr 22, 6:06 PM

Sun, Apr 21

asomers committed rG2d19c2cd00b4: fusefs: correct a comment (authored by asomers).
fusefs: correct a comment
Sun, Apr 21, 2:11 PM
asomers committed rG61ddfc0e55b4: fusefs: only test for incoherency if FN_SIZECHANGE is set (authored by Emil Tsalapatis <emil@etsalapatis.com>).
fusefs: only test for incoherency if FN_SIZECHANGE is set
Sun, Apr 21, 2:11 PM

Sat, Apr 13

asomers committed rG25038e8de6b4: zfsd: fix unit tests after 89f4f91dbfdcabe65bc7476bc5f13dfb837870fe (authored by asomers).
zfsd: fix unit tests after 89f4f91dbfdcabe65bc7476bc5f13dfb837870fe
Sat, Apr 13, 12:37 AM
asomers closed D44744: zfsd: fix unit tests after 89f4f91dbfdcabe65bc7476bc5f13dfb837870fe.
Sat, Apr 13, 12:37 AM

Wed, Apr 10

asomers requested review of D44744: zfsd: fix unit tests after 89f4f91dbfdcabe65bc7476bc5f13dfb837870fe.
Wed, Apr 10, 8:57 PM

Thu, Apr 4

asomers committed rGc1326c01df81: fusefs: correct a comment (authored by asomers).
fusefs: correct a comment
Thu, Apr 4, 8:20 PM
asomers updated the diff for D44618: fusefs: fix two bugs regarding _PC_MIN_HOLE_SIZE.
  • Skip the fuse_vnop_do_lseek and fuse_filehandle_close if
  • Two more fixes:
Thu, Apr 4, 8:11 PM

Wed, Apr 3

asomers added a comment to D44618: fusefs: fix two bugs regarding _PC_MIN_HOLE_SIZE.

Actually, another problem is that EACCES, EINTEGRITY, and EIO errors won't be correctly reported. That problem predates this review, but I'll fix it now.

Wed, Apr 3, 10:22 PM
asomers added inline comments to D44618: fusefs: fix two bugs regarding _PC_MIN_HOLE_SIZE.
Wed, Apr 3, 10:03 PM
asomers requested review of D44618: fusefs: fix two bugs regarding _PC_MIN_HOLE_SIZE.
Wed, Apr 3, 8:07 PM
asomers accepted D44605: lagg: propagate up/down to the children.

Looks ok to me, but it's been a long time since I've been active in this code. And it's nice that the patch is so much simpler now!

Wed, Apr 3, 1:03 PM

Tue, Mar 26

asomers accepted D44513: ln: Add a test case for ln -sfF..
Tue, Mar 26, 4:29 PM

Mar 24 2024

asomers added a comment to D44320: Allow the bundled zstd to use utimensat.
In D44320#1014666, @imp wrote:

So digging into this a bit more... I bumped the POSIX_VERSION in FreeBSD. This code seemed to compile great when I did that after I moved the BSDs to the #if I highlighted.

However, OpenSSL needs a small tweak. POSIX_VERSION 200809L dropped makecontext, et al, from the standard in Issue 7 (2008 version), and OpenSSL has no fallback for that situation, except to make an exception for GLIBC... So I added an exception for FreeBSD as well, and submitted that pull request. Now I have to fix at least two ports (openssl3 and openssl111), and fight that battle.... At least I have someone lined up to help me there.

So there's a complication to my suggestion, I'll let you know when vvd@ and I have looked at the fallout. I hate kludging things like this pull request, though, I'm spending way more time on this than I thought I'd need to.

Mar 24 2024, 2:22 PM

Mar 22 2024

asomers accepted D44473: rights.4: add note about rights not being simple bitmasks.
Mar 22 2024, 2:00 PM

Mar 12 2024

asomers added a comment to D44320: Allow the bundled zstd to use utimensat.

An exp-run is what you suggested when I first raised the issue on freebsd-hackers last September. However, I don't know how to do an exp-run. Are you volunteering?

Mar 12 2024, 8:09 PM
asomers requested review of D44320: Allow the bundled zstd to use utimensat.
Mar 12 2024, 7:31 PM

Mar 7 2024

asomers committed R11:4fd03fa24576: misc/buffer: deprecate (authored by asomers).
misc/buffer: deprecate
Mar 7 2024, 10:57 PM

Mar 5 2024

asomers committed rG89f4f91dbfdc: zfsd: Use vdev prop values for fault/degrade thresholds (authored by asomers).
zfsd: Use vdev prop values for fault/degrade thresholds
Mar 5 2024, 7:29 PM
asomers closed D44043: zfsd: Use vdev prop values for fault/degrade thresholds.
Mar 5 2024, 7:29 PM · ZFS

Feb 23 2024

asomers accepted D44043: zfsd: Use vdev prop values for fault/degrade thresholds.
Feb 23 2024, 5:12 PM · ZFS

Feb 12 2024

asomers committed rGf2c72486da30: fusefs: fix invalid value for st_birthtime.tv_nsec (authored by asomers).
fusefs: fix invalid value for st_birthtime.tv_nsec
Feb 12 2024, 8:18 PM
asomers committed rG65e25e4a614a: fusefs: fix invalid value for st_birthtime.tv_nsec (authored by asomers).
fusefs: fix invalid value for st_birthtime.tv_nsec
Feb 12 2024, 6:03 PM
asomers committed rGf3d5f910d53d: fusefs: more consistent operand ordering in io.cc (authored by asomers).
fusefs: more consistent operand ordering in io.cc
Feb 12 2024, 6:03 PM
asomers committed rG739488cc21b1: fusefs: fix invalid value for st_birthtime.tv_nsec (authored by asomers).
fusefs: fix invalid value for st_birthtime.tv_nsec
Feb 12 2024, 5:45 PM
asomers committed rG314a881fce0c: fusefs: fix some memory leaks in the tests (authored by asomers).
fusefs: fix some memory leaks in the tests
Feb 12 2024, 5:45 PM
asomers committed rG8510b8fe2abc: fusefs: prefer new/delete over malloc/free (authored by asomers).
fusefs: prefer new/delete over malloc/free
Feb 12 2024, 5:45 PM
asomers committed rG31c31be71624: fusefs: more consistent operand ordering in io.cc (authored by asomers).
fusefs: more consistent operand ordering in io.cc
Feb 12 2024, 5:44 PM
asomers committed rG9826f8eb0cca: fusefs: fix an interaction between copy_file_range and mmap (authored by asomers).
fusefs: fix an interaction between copy_file_range and mmap
Feb 12 2024, 5:44 PM

Feb 9 2024

asomers committed rG8758bf0aaec1: fusefs: only test for incoherency if FN_SIZECHANGE is set (authored by Emil Tsalapatis <emil@etsalapatis.com>).
fusefs: only test for incoherency if FN_SIZECHANGE is set
Feb 9 2024, 3:14 AM

Feb 8 2024

asomers accepted D43775: tests/unix_seqpacket: provide random data pumping test with MSG_EOR.

This looks good. BTW, you don't have to wait until the cleanup phase to print the seed. It's OK to print it at the beginning of the test phase. In the event of a failure, Kyua will report everything that the test printed.

Feb 8 2024, 2:29 PM

Feb 7 2024

asomers added a comment to D43775: tests/unix_seqpacket: provide random data pumping test with MSG_EOR.

I'll make resources reclaim patch, thanks!

But I don't agree with going for deterministic random. That will reduce test coverage. For such kind of tests to get coverage tending to 100% you need either go with deterministic random and volume of data to pump needs to tend to infinity. Or you can go true random and then make number of runs tend to infinity. The CI itself gives us the latter for free.

Of course failures reported by CI (if any) won't be reproducible immediately. But they will be a red flag. Once I got a failure, I will run the test in a loop until reproduction.

Feb 7 2024, 8:00 PM
asomers requested changes to D43775: tests/unix_seqpacket: provide random data pumping test with MSG_EOR.

This looks good. But I have a few thoughts:

Feb 7 2024, 3:23 PM

Feb 6 2024

asomers committed R11:25d6c9ed5201: sysutils/gstat-rs: update to 0.1.6 (authored by asomers).
sysutils/gstat-rs: update to 0.1.6
Feb 6 2024, 1:54 PM
asomers accepted D43756: tests/unix_seqpacket: remove EMSGSIZE tests.

So in the future it will be possible to send a single record with multiple send syscalls? In that case we can certainly remove these tests. However, in the future it will be important to ensure that we can send messages larger than the socket buffer size, right? In that case, I think we should leave these tests here for now, and update them atomically when the new behavior is committed. That way we won't forget.

Feb 6 2024, 1:23 AM

Feb 4 2024

asomers requested review of D43744: Provide a macro to initialize a vnode timestamp to "invalid".
Feb 4 2024, 10:09 PM
asomers committed rG55b80e2ca52c: fusefs: fix invalid value for st_birthtime.tv_nsec (authored by asomers).
fusefs: fix invalid value for st_birthtime.tv_nsec
Feb 4 2024, 9:04 PM
asomers closed D43590: fusefs: fix invalid value for st_birthtime.tv_nsec.
Feb 4 2024, 9:03 PM
asomers added inline comments to D43590: fusefs: fix invalid value for st_birthtime.tv_nsec.
Feb 4 2024, 8:58 PM
asomers added a comment to D43739: tmpfs: add a test case based on devel/fsx.

@imp here's a test case that depends on Rust. Not exactly what you meant, perhaps, but I think it would be a valuable addition. If you like this, we can add versions for other builtin file systems, too.

Feb 4 2024, 6:01 PM
asomers requested review of D43739: tmpfs: add a test case based on devel/fsx.
Feb 4 2024, 6:00 PM

Feb 3 2024

asomers added a comment to D43590: fusefs: fix invalid value for st_birthtime.tv_nsec.

@emaste what about something like this?

#define VA_NOTIME(ts) { \
    ts->tv_sec = -1; \
    ts->tv_nsec = 0; \
}
Feb 3 2024, 3:25 PM

Feb 2 2024

asomers committed rG49e8190c76c1: fusefs: fix an interaction between copy_file_range and mmap (authored by asomers).
fusefs: fix an interaction between copy_file_range and mmap
Feb 2 2024, 9:31 PM
asomers requested changes to D43448: lio_listio(2): add LIO_FOFFSET flag to ignore aiocb aio_offset.
Feb 2 2024, 9:17 PM

Jan 25 2024

asomers added a comment to D43590: fusefs: fix invalid value for st_birthtime.tv_nsec.

I think this is good but I wonder if we should have a trivial macro/inline for recording an unset/invalid va_birthtime?

Jan 25 2024, 4:24 PM
asomers requested review of D43590: fusefs: fix invalid value for st_birthtime.tv_nsec.
Jan 25 2024, 3:24 PM

Jan 20 2024

asomers committed rG62f890cfbc35: Add a regression test for PR 276191. (authored by asomers).
Add a regression test for PR 276191.
Jan 20 2024, 2:02 AM
asomers committed rGd741d23133be: nfsstat: make -q work without -e/-E (authored by lexi_le-fay.org).
nfsstat: make -q work without -e/-E
Jan 20 2024, 1:56 AM
asomers committed rGbe908114fd62: nfsstat: update option strings in docs (authored by lexi_le-fay.org).
nfsstat: update option strings in docs
Jan 20 2024, 1:55 AM
asomers committed rG5a2767d20325: Fix multiple bugs with ctld's UCL parsing (authored by asomers).
Fix multiple bugs with ctld's UCL parsing
Jan 20 2024, 1:54 AM
asomers committed rG5b4873c5b861: Remove _POSIX_PRIORITIZED_IO references from man pages (authored by asomers).
Remove _POSIX_PRIORITIZED_IO references from man pages
Jan 20 2024, 1:53 AM
asomers committed rG0125d6a23ba9: libcasper: document that most libcasper functions are not thread-safe (authored by asomers).
libcasper: document that most libcasper functions are not thread-safe
Jan 20 2024, 1:52 AM
asomers committed rGe016face1e26: cap_net.3: remove a copypasta (authored by asomers).
cap_net.3: remove a copypasta
Jan 20 2024, 1:52 AM
asomers committed rGf9f7404cd5c7: sigaction.2: clarify that fork isn't async-signal-safe, but _Fork is (authored by asomers).
sigaction.2: clarify that fork isn't async-signal-safe, but _Fork is
Jan 20 2024, 1:52 AM
asomers committed rG946afb62aba5: zfsd: fault disks that generate too many I/O delay events (authored by asomers).
zfsd: fault disks that generate too many I/O delay events
Jan 20 2024, 1:51 AM

Jan 19 2024

asomers committed rGd89317a66ff7: Add a regression test for PR 276191. (authored by asomers).
Add a regression test for PR 276191.
Jan 19 2024, 8:28 PM
asomers committed rG1726e4ced900: nfsstat: make -q work without -e/-E (authored by lexi_le-fay.org).
nfsstat: make -q work without -e/-E
Jan 19 2024, 8:25 PM
asomers committed rG266c79883a7e: nfsstat: update option strings in docs (authored by lexi_le-fay.org).
nfsstat: update option strings in docs
Jan 19 2024, 8:24 PM
asomers committed rGc2ec8038a7f1: Fix multiple bugs with ctld's UCL parsing (authored by asomers).
Fix multiple bugs with ctld's UCL parsing
Jan 19 2024, 8:22 PM
asomers committed rG08ac19609ca0: Remove _POSIX_PRIORITIZED_IO references from man pages (authored by asomers).
Remove _POSIX_PRIORITIZED_IO references from man pages
Jan 19 2024, 8:21 PM
asomers committed rGb4caacbef0a4: cap_net.3: remove a copypasta (authored by asomers).
cap_net.3: remove a copypasta
Jan 19 2024, 8:20 PM
asomers committed rG6328c1449502: sigaction.2: clarify that fork isn't async-signal-safe, but _Fork is (authored by asomers).
sigaction.2: clarify that fork isn't async-signal-safe, but _Fork is
Jan 19 2024, 8:19 PM
asomers committed rGe2ce586899ff: zfsd: fault disks that generate too many I/O delay events (authored by asomers).
zfsd: fault disks that generate too many I/O delay events
Jan 19 2024, 8:17 PM
asomers committed rG39f5d8dd1b2f: fusefs: fix some memory leaks in the tests (authored by asomers).
fusefs: fix some memory leaks in the tests
Jan 19 2024, 5:51 PM

Jan 17 2024

asomers committed rG8bae22bbbe65: fusefs: prefer new/delete over malloc/free (authored by asomers).
fusefs: prefer new/delete over malloc/free
Jan 17 2024, 10:50 PM
asomers closed D43464: fusefs: prefer new/delete over malloc/free.
Jan 17 2024, 10:50 PM
asomers updated the diff for D43464: fusefs: prefer new/delete over malloc/free.
  • Replaces memsets by default initializers. Delete allocations using
Jan 17 2024, 9:19 PM
asomers added inline comments to D43464: fusefs: prefer new/delete over malloc/free.
Jan 17 2024, 9:18 PM

Jan 16 2024

asomers added inline comments to D43464: fusefs: prefer new/delete over malloc/free.
Jan 16 2024, 2:54 AM

Jan 15 2024

asomers requested review of D43464: fusefs: prefer new/delete over malloc/free.
Jan 15 2024, 11:50 PM
asomers committed rGdaf26f9350cf: fusefs: more consistent operand ordering in io.cc (authored by asomers).
fusefs: more consistent operand ordering in io.cc
Jan 15 2024, 11:18 PM
asomers committed rG1c909c300b92: fusefs: fix an interaction between copy_file_range and mmap (authored by asomers).
fusefs: fix an interaction between copy_file_range and mmap
Jan 15 2024, 9:59 PM
asomers closed D43451: fusefs: fix an interaction between copy_file_range and mmap.
Jan 15 2024, 9:59 PM
asomers updated the diff for D43451: fusefs: fix an interaction between copy_file_range and mmap.
  • Use vnode_pager_clean_sync
Jan 15 2024, 8:41 PM

Jan 13 2024

asomers committed rG6b1c534927ad: Add a regression test for PR 276191. (authored by asomers).
Add a regression test for PR 276191.
Jan 13 2024, 10:48 PM
asomers closed D43446: Add a regression test for PR 276191..
Jan 13 2024, 10:48 PM
asomers requested review of D43451: fusefs: fix an interaction between copy_file_range and mmap.
Jan 13 2024, 10:43 PM
asomers added a comment to D43448: lio_listio(2): add LIO_FOFFSET flag to ignore aiocb aio_offset.
In D43448#990336, @kib wrote:
In D43448#990316, @kib wrote:

Will an operation with LIO_FOFFSET update the current file offset?

Yes.

What happens if two or more operations both specify LIO_FOFFSET? lio_listio does not specify the order in which the operations will be evaluated. Given that, this flag can't be used if two or more operations affect the same file. And IMHO lio_listio isn't very useful with such a restriction.

One of them would do the update first, and another one follows. It is up to caller to care.

I used lio_listio(2) to add the flag because it is extensible, unlike aio_read*(), and I do not want to add yet another syscall variant. I do think that typical use would be with nelem = 1.

Why would you use lio_listio with nelem == 1 ?

Because you can specify op with modifiers. This is impossible with current syscalls like aio_read(2).

Jan 13 2024, 9:37 PM
asomers added a comment to D43448: lio_listio(2): add LIO_FOFFSET flag to ignore aiocb aio_offset.
In D43448#990316, @kib wrote:

Will an operation with LIO_FOFFSET update the current file offset?

Yes.

What happens if two or more operations both specify LIO_FOFFSET? lio_listio does not specify the order in which the operations will be evaluated. Given that, this flag can't be used if two or more operations affect the same file. And IMHO lio_listio isn't very useful with such a restriction.

One of them would do the update first, and another one follows. It is up to caller to care.

I used lio_listio(2) to add the flag because it is extensible, unlike aio_read*(), and I do not want to add yet another syscall variant. I do think that typical use would be with nelem = 1.

Jan 13 2024, 8:54 PM
asomers added a comment to D43448: lio_listio(2): add LIO_FOFFSET flag to ignore aiocb aio_offset.

Will an operation with LIO_FOFFSET update the current file offset? What happens if two or more operations both specify LIO_FOFFSET? lio_listio does not specify the order in which the operations will be evaluated. Given that, this flag can't be used if two or more operations affect the same file. And IMHO lio_listio isn't very useful with such a restriction.

Jan 13 2024, 8:27 PM
asomers added inline comments to D43446: Add a regression test for PR 276191..
Jan 13 2024, 5:01 PM
asomers requested review of D43446: Add a regression test for PR 276191..
Jan 13 2024, 3:38 PM

Jan 11 2024

asomers committed rGd06a00963b7f: find: add SIGINFO handler (authored by meka_tilda.center).
find: add SIGINFO handler
Jan 11 2024, 11:39 PM
asomers closed D43380: find: add SIGINFO handler.
Jan 11 2024, 11:38 PM
asomers accepted D43380: find: add SIGINFO handler.
Jan 11 2024, 10:22 PM

Jan 9 2024

asomers added a reviewer for D43380: find: add SIGINFO handler: des.

It LGTM, but let's get some outside review, too. @des what do you think?

Jan 9 2024, 9:10 PM

Jan 8 2024

asomers added a comment to D43358: vnode_pager_generic_putpages(): correctly handle clean block at EOF.

Does this all happen sequentially, e.g., from a single thread? I'm a bit confused specifically by how we end up in putpages. Do you have a stack trace handy?

Jan 8 2024, 5:41 PM