Page MenuHomeFreeBSD

rlibby (Ryan Libby)
User

Projects

User Details

User Since
Nov 12 2015, 8:14 PM (564 w, 6 d)

Recent Activity

Sun, Sep 6

rlibby committed rG2e33355ee2bf: pmc: avoid illegal flexible array member (authored by rlibby).
pmc: avoid illegal flexible array member
Sun, Sep 6, 1:26 AM
rlibby committed rG3581b6db62b1: find.1: fix rendering of find -s example (authored by rlibby).
find.1: fix rendering of find -s example
Sun, Sep 6, 1:26 AM
rlibby closed D59353: find.1: fix rendering of find -s example.
Sun, Sep 6, 1:26 AM
rlibby closed D59355: pmc: avoid illegal flexible array member.
Sun, Sep 6, 1:26 AM · pmc

Sat, Sep 5

rlibby updated the summary of D59355: pmc: avoid illegal flexible array member.
Sat, Sep 5, 10:52 PM · pmc

Fri, Sep 4

rlibby added a comment to D59355: pmc: avoid illegal flexible array member.

Yes it’s non-standard but we already depend on a number of gnu extensions in our code. I think is just an error with the build flags, if you just set the length to 0 or 1 and it’s also accepted by gcc.

Fri, Sep 4, 11:03 PM · pmc
rlibby added a comment to D59380: install: amortize metalog locking/flushing with a memory buffer.
In D59380#1362825, @des wrote:

It will be significantly faster without locking.

Fri, Sep 4, 9:19 PM
rlibby added a comment to D59380: install: amortize metalog locking/flushing with a memory buffer.
In D59380#1362615, @des wrote:

My understanding of what is making my use case slow (metalog on nfs) is that releasing the advisory lock results in a flush and nfs commit. This patch tries to reduce that by at least reducing the advisory lock acquire/release to once per install invocation (which admittedly only helps for the minority of cases where the install command line has multiple files). That is, I'm not exactly trying to reduce the stdio flushes, I'm trying to reduce the nfs commits. I don't think changing stdio buffering by itself would change this at all (and note the location of the fflush(), under the advisory lock). Getting rid of the advisory locks would probably make this much faster, regardless of stdio buffering, but I think that would break parallel install using the same metalog.

I glossed over the diff, I didn't realize the metalog was locked. That shouldn't be necessary as long as it's opened in append mode and line-buffered. I would suggest running some tests with just the locking and flushes removed and setvbuf(metafp, NULL, _IOLBF, 0) added.

@brd do you have an opinion on this?

Fri, Sep 4, 5:34 PM
rlibby added a comment to D59380: install: amortize metalog locking/flushing with a memory buffer.
In D59380#1362364, @des wrote:

I wonder if we could achieve the same goal more cleanly by adding a multi-line buffering mode to stdio. Call it _IOMBF and make it work like fully buffered, except that when the buffer is full we only flush up to the last newline in the buffer, and keep the leftovers. That probably means the last line is lost on close if not terminated, but that's fine if we document it.

Fri, Sep 4, 3:33 PM
rlibby updated the diff for D59353: find.1: fix rendering of find -s example.

ziaee feedback: use a zero-width space to keep the linter happy

Fri, Sep 4, 2:59 PM
rlibby accepted D59381: buf: Avoid calling bufdomain() on newly initialized bufs.

Looks good.

Fri, Sep 4, 6:00 AM
rlibby accepted D59346: contrib/kyua: fix -Wshadow error.
Fri, Sep 4, 5:41 AM
rlibby abandoned D59354: kyua: un-shadow handle variable to fix gcc build.

A fix was submitted for this already: https://reviews.freebsd.org/D59346 .

Fri, Sep 4, 5:41 AM

Thu, Sep 3

rlibby added reviewers for D59380: install: amortize metalog locking/flushing with a memory buffer: emaste, des, brooks.
Thu, Sep 3, 11:47 PM
rlibby requested review of D59380: install: amortize metalog locking/flushing with a memory buffer.
Thu, Sep 3, 11:46 PM
rlibby added reviewers for D59379: stand: check for short reads in ufs: mckusick, jhb.
Thu, Sep 3, 11:35 PM
rlibby added a reviewer for D59378: stand: ufs directory corruption sanity checks: mckusick.
Thu, Sep 3, 11:34 PM
rlibby requested review of D59379: stand: check for short reads in ufs.
Thu, Sep 3, 11:32 PM
rlibby requested review of D59378: stand: ufs directory corruption sanity checks.
Thu, Sep 3, 11:32 PM
rlibby added a reviewer for D59355: pmc: avoid illegal flexible array member: adrian.
Thu, Sep 3, 8:00 PM · pmc
rlibby requested review of D59355: pmc: avoid illegal flexible array member.
Thu, Sep 3, 8:00 PM · pmc
rlibby added reviewers for D59354: kyua: un-shadow handle variable to fix gcc build: igoro, ngie.
Thu, Sep 3, 7:56 PM
rlibby requested review of D59354: kyua: un-shadow handle variable to fix gcc build.
Thu, Sep 3, 7:54 PM
rlibby updated the test plan for D59353: find.1: fix rendering of find -s example.
Thu, Sep 3, 7:53 PM
rlibby updated the test plan for D59353: find.1: fix rendering of find -s example.
Thu, Sep 3, 7:51 PM
rlibby requested review of D59353: find.1: fix rendering of find -s example.
Thu, Sep 3, 7:48 PM

Jul 31 2026

rlibby accepted D58574: uma: Fix KMSAN integration with malloc zones.

Oops, I missed that too.

Jul 31 2026, 3:36 PM
rlibby accepted D58272: malloc: Refactor redzone and KASAN handling.

Looks good.

Jul 31 2026, 2:05 AM
rlibby accepted D58271: uma: Insert KASAN redzones after slab-allocated items.
Jul 31 2026, 1:52 AM

Jul 23 2026

rlibby committed rG3f521425afcb: hwpstate_intel(4): use CPU_FOREACH instead of an IPI (authored by rlibby).
hwpstate_intel(4): use CPU_FOREACH instead of an IPI
Jul 23 2026, 5:44 PM
rlibby closed D58336: hwpstate_intel(4): use CPU_FOREACH instead of an IPI.
Jul 23 2026, 5:43 PM

Jul 20 2026

rlibby accepted D58272: malloc: Refactor redzone and KASAN handling.
Jul 20 2026, 9:53 PM
rlibby added a comment to D58336: hwpstate_intel(4): use CPU_FOREACH instead of an IPI.

Fine, though please note I have a lot of rework of hwpstate_intel(4) incoming, in particular dropping this hybrid core detection code, so if you plan more/significant work in this area please liaise with me.

Jul 20 2026, 8:42 PM

Jul 19 2026

rlibby updated the diff for D58336: hwpstate_intel(4): use CPU_FOREACH instead of an IPI.

Refresh after conflict resolution for 02c440e20404 ("hwpstate_intel: Minimize ifdef for i386 build")

Jul 19 2026, 8:10 PM
rlibby committed rG29d15d658d17: i386: provide PCPU pc_small_core for amd64 compat (authored by rlibby).
i386: provide PCPU pc_small_core for amd64 compat
Jul 19 2026, 8:08 PM
rlibby closed D58335: i386: provide PCPU pc_small_core for amd64 compat.
Jul 19 2026, 8:08 PM
rlibby accepted D58301: apei: Fix i386 build.

Comparing to sys/x86/include/bus.h and sys/dev/ntb/ntb_hw/ntb_hw_*.c, they just call the bus_space_tag_t parameter tag, and sys/x86/include/bus.h calls the bus_space_handle_t parameter bsh while ntb calls it handle. I think you could simplify those names. A verbatim copy of ntb's definitions would seem fine.

Jul 19 2026, 7:44 PM
rlibby abandoned D58318: acpi: fix i386 build for bus_read_8 and bus_write_8.

D58301 seems a better alternative to this?

Jul 19 2026, 4:41 PM
rlibby updated the test plan for D58318: acpi: fix i386 build for bus_read_8 and bus_write_8.
Jul 19 2026, 4:07 PM
rlibby retitled D58336: hwpstate_intel(4): use CPU_FOREACH instead of an IPI from hwpstate_intel(4): use memorized hybrid_small_cores instead of an IPI to hwpstate_intel(4): use CPU_FOREACH instead of an IPI.
Jul 19 2026, 3:40 PM
rlibby retitled D58335: i386: provide PCPU pc_small_core for amd64 compat from x86: memorize the existence of hybrid small cores to i386: provide PCPU pc_small_core for amd64 compat.
Jul 19 2026, 3:39 PM
rlibby updated the diff for D58336: hwpstate_intel(4): use CPU_FOREACH instead of an IPI.

kib feedback and earlier olce comment: CPU_FOREACH

Jul 19 2026, 3:37 PM
rlibby updated the diff for D58335: i386: provide PCPU pc_small_core for amd64 compat.

kib feedback from D58336: just provide pc_small_core on i386

Jul 19 2026, 3:35 PM
rlibby added inline comments to D58336: hwpstate_intel(4): use CPU_FOREACH instead of an IPI.
Jul 19 2026, 3:09 PM
rlibby updated the summary of D58335: i386: provide PCPU pc_small_core for amd64 compat.
Jul 19 2026, 3:52 AM
rlibby updated the test plan for D58336: hwpstate_intel(4): use CPU_FOREACH instead of an IPI.
Jul 19 2026, 3:52 AM
rlibby requested review of D58336: hwpstate_intel(4): use CPU_FOREACH instead of an IPI.
Jul 19 2026, 3:44 AM
rlibby requested review of D58335: i386: provide PCPU pc_small_core for amd64 compat.
Jul 19 2026, 3:44 AM
rlibby added a comment to D58332: i386: supply thermal interrupt handler.

Thank you very much for creating this.
I failed to notice the missing handler for i386 when I made my initial proposal. I apologize for that.

Jul 19 2026, 3:35 AM
rlibby committed rGcb325dcedfa2: i386: supply thermal interrupt handler (authored by rlibby).
i386: supply thermal interrupt handler
Jul 19 2026, 3:30 AM
rlibby closed D58332: i386: supply thermal interrupt handler.
Jul 19 2026, 3:30 AM

Jul 18 2026

rlibby updated the test plan for D58332: i386: supply thermal interrupt handler.
Jul 18 2026, 11:58 PM
rlibby requested review of D58332: i386: supply thermal interrupt handler.
Jul 18 2026, 11:56 PM
rlibby updated the test plan for D58318: acpi: fix i386 build for bus_read_8 and bus_write_8.
Jul 18 2026, 3:11 AM
rlibby requested review of D58318: acpi: fix i386 build for bus_read_8 and bus_write_8.
Jul 18 2026, 3:08 AM

Jul 17 2026

rlibby added a comment to D58316: malloc: Fix domainset usage in malloc_domainset() for large allocs.

Maybe one day we should plumb it for malloc_dbg / memguard_alloc too.

Do you use memguard at all? I haven't needed to reach for it since KASAN was added.

Jul 17 2026, 9:39 PM
rlibby accepted D58316: malloc: Fix domainset usage in malloc_domainset() for large allocs.

Maybe one day we should plumb it for malloc_dbg / memguard_alloc too.

Jul 17 2026, 9:22 PM
rlibby added inline comments to D58272: malloc: Refactor redzone and KASAN handling.
Jul 17 2026, 8:33 PM
rlibby accepted D58312: uma: Enqueue full buckets in FIFO order when KASAN is configured.
Jul 17 2026, 7:21 PM
rlibby added a comment to D58271: uma: Insert KASAN redzones after slab-allocated items.

I also wonder if we should have an option to add this redzone without KASAN. We could come up with a cheap-ish debugging feature to verify the redzone with uma_junk when we don't have KASAN. Not asking for that in this patch.

Jul 17 2026, 7:16 PM
rlibby added a comment to D58271: uma: Insert KASAN redzones after slab-allocated items.

Add an assertion to item_ctor() that the returned item is properly
aligned. I couldn't see any pre-existing checks which verify this.

Jul 17 2026, 7:11 PM
rlibby accepted D58270: uma: Avoid allocating from free buckets when KASAN is enabled.

The other thing that SMR does in this respect is it puts free buckets at the tail of uzd_buckets in zone_put_bucket. Did you think about whether you want that for KASAN also, to extend the length of time before reuse further?

Jul 17 2026, 4:48 PM
rlibby accepted D58269: uma: Make an effort to defer reuse of items when KASAN is enabled.

Looks good.

Jul 17 2026, 4:19 PM
rlibby accepted D58268: uma: Factor out the implementations of uma_zfree_{arg,smr}().

Looks good.

Jul 17 2026, 4:07 PM

Jul 16 2026

rlibby added a comment to D58269: uma: Make an effort to defer reuse of items when KASAN is enabled.

Looks fine modulo the uz_flags comment and style and history nits.

Jul 16 2026, 7:26 PM
rlibby added a comment to D58268: uma: Factor out the implementations of uma_zfree_{arg,smr}().

BTW git arc can fetch patches from phabricator and apply them to a local tree, though of course that can fail, e.g., if the patch in phabricator needs a rebase. The following invocation will fetch and apply all of the patches in this series:

$ git arc patch -c -s -r D58272

Kind of cumbersome versus fetching a git branch, but hey...

Jul 16 2026, 6:31 PM
rlibby accepted D58268: uma: Factor out the implementations of uma_zfree_{arg,smr}().

Style nits, but logic looks good.

Jul 16 2026, 6:30 PM
rlibby added a comment to D58268: uma: Factor out the implementations of uma_zfree_{arg,smr}().

Just for review convenience, do you have a public git branch with the patch set?

Jul 16 2026, 3:33 PM

Jul 10 2026

rlibby closed D58130: fusefs: fix gcc build error with shadowed variable in tests.
Jul 10 2026, 5:52 PM
rlibby committed rGc503d23a6ccb: fusefs: fix gcc build error with shadowed variable in tests (authored by rlibby).
fusefs: fix gcc build error with shadowed variable in tests
Jul 10 2026, 5:52 PM

Jul 9 2026

rlibby updated the test plan for D58130: fusefs: fix gcc build error with shadowed variable in tests.
Jul 9 2026, 6:32 PM
rlibby requested review of D58130: fusefs: fix gcc build error with shadowed variable in tests.
Jul 9 2026, 6:30 PM

Jun 29 2026

rlibby committed rG2407abc9fb3b: witness: harden tunables for large settings (authored by rlibby).
witness: harden tunables for large settings
Jun 29 2026, 5:14 PM
rlibby closed D57793: witness: harden tunables for large settings.
Jun 29 2026, 5:13 PM

Jun 26 2026

rlibby accepted D57893: loader.efi: Fix build with gcc due to pointer / int issues on 32-bit build.

Logic LGTM.

Jun 26 2026, 8:20 PM
rlibby updated the diff for D57793: witness: harden tunables for large settings.

kib feedback

Jun 26 2026, 6:22 PM

Jun 25 2026

rlibby added inline comments to D57793: witness: harden tunables for large settings.
Jun 25 2026, 6:25 PM
rlibby updated the diff for D57793: witness: harden tunables for large settings.

tweak comment and log message

Jun 25 2026, 5:17 PM

Jun 24 2026

rlibby added inline comments to D57793: witness: harden tunables for large settings.
Jun 24 2026, 4:13 PM
rlibby updated the diff for D57793: witness: harden tunables for large settings.

markj feedback

Jun 24 2026, 3:44 PM
rlibby added inline comments to D57793: witness: harden tunables for large settings.
Jun 24 2026, 3:19 PM
rlibby updated the diff for D57793: witness: harden tunables for large settings.

whitespace fixup

Jun 24 2026, 1:25 AM
rlibby updated the test plan for D57793: witness: harden tunables for large settings.
Jun 24 2026, 1:19 AM
rlibby requested review of D57793: witness: harden tunables for large settings.
Jun 24 2026, 1:10 AM

Jun 18 2026

rlibby committed rGca8a1c3c27b0: witness: add tunables debug.witness.lock_order_{data_count,hash_size} (authored by rlibby).
witness: add tunables debug.witness.lock_order_{data_count,hash_size}
Jun 18 2026, 4:17 AM
rlibby committed rG08180f1b613b: witness: actually set read-only tunables in time for witness_startup (authored by rlibby).
witness: actually set read-only tunables in time for witness_startup
Jun 18 2026, 4:17 AM
rlibby closed D57600: witness: add tunables debug.witness.lock_order_{data_count,hash_size}.
Jun 18 2026, 4:17 AM
rlibby closed D57613: witness: actually set read-only tunables in time for witness_startup.
Jun 18 2026, 4:17 AM

Jun 16 2026

rlibby added a comment to D57613: witness: actually set read-only tunables in time for witness_startup.

So, why mess with the types (int -> bool and int -> u_long)? Strictly speaking it is not necessary and I can revert it if you prefer. I note though that there is no TUNABLE_UINT() and a comment for TUNABLE_INT() suggests not to use it. I don't know why this is, but just converting to bool and u_long seems fine anyway.

Jun 16 2026, 11:29 PM
rlibby added reviewers for D57613: witness: actually set read-only tunables in time for witness_startup: markj, kib, glebius.
Jun 16 2026, 11:25 PM
rlibby updated the diff for D57600: witness: add tunables debug.witness.lock_order_{data_count,hash_size}.

Addressing problems uncovered in testing. I had assumed that the
mechanism used by debug.witness.witness_count actually worked, but it
didn't. I added a new patch D57613 to address the problem with
witness_count by itself, and then applied that fix here too. I also
fixed an alignment problem.

Jun 16 2026, 11:24 PM
rlibby requested review of D57613: witness: actually set read-only tunables in time for witness_startup.
Jun 16 2026, 11:19 PM

Jun 15 2026

rlibby added inline comments to D57600: witness: add tunables debug.witness.lock_order_{data_count,hash_size}.
Jun 15 2026, 5:31 PM
rlibby updated the test plan for D57600: witness: add tunables debug.witness.lock_order_{data_count,hash_size}.
Jun 15 2026, 4:06 PM
rlibby requested review of D57600: witness: add tunables debug.witness.lock_order_{data_count,hash_size}.
Jun 15 2026, 4:02 PM

Jun 10 2026

rlibby committed rG331613ddd8a5: Pause failpoint: replace mtx_sleep with tsleep (authored by Mark Ranger <markovic@internode.on.net>).
Pause failpoint: replace mtx_sleep with tsleep
Jun 10 2026, 9:20 PM
rlibby accepted D57521: callout: ddb: resolve symbol of callout function.

Looks good. I presume you've tested it?

Jun 10 2026, 3:35 PM

May 27 2026

rlibby attached a referenced file: F158031792: grep-executable-stack.3771.log.
May 27 2026, 5:19 PM
rlibby abandoned D56893: kern.mk: quiet bfd executable stack warnings.

Abandoning this for now, though I still think it would be fine to take. I addressed some of the underlying issues with D56894 and D56946.

May 27 2026, 5:19 PM

May 19 2026

rlibby committed rG296c174835cf: vnlru: avoid trigger calculation when force < 2 (authored by rlibby).
vnlru: avoid trigger calculation when force < 2
May 19 2026, 6:42 PM