Page MenuHomeFreeBSD

brooks (Brooks Davis)
User

Projects

User Details

User Since
Jul 1 2014, 6:02 PM (638 w, 6 d)

Recent Activity

Sat, Sep 26

brooks added a comment to D59815: amd64: implement support for disabling splitlocks.

What @brooks wrote. Building HEAD on 15.1 doesn't work now and reverting rG:20c09e6fece makes the build work on 15.1.

Sat, Sep 26, 11:45 AM
brooks committed rG53fe018630d0: amd64: gate WRMSRNS immediate form on compiler support (authored by brooks).
amd64: gate WRMSRNS immediate form on compiler support
Sat, Sep 26, 11:44 AM
brooks closed D60023: amd64: gate WRMSRNS immediate form on compiler support.
Sat, Sep 26, 11:44 AM
brooks updated the summary of D60023: amd64: gate WRMSRNS immediate form on compiler support.
Sat, Sep 26, 11:26 AM
brooks updated the diff for D60023: amd64: gate WRMSRNS immediate form on compiler support.

Decay immediate form to non-immediate when clang is too old

Sat, Sep 26, 11:26 AM
brooks committed rG2a717d519e04: uio: make *copyinuio take a void * (authored by brooks).
uio: make *copyinuio take a void *
Sat, Sep 26, 11:06 AM
brooks closed D60024: uio: make *copyinuio take a void *.
Sat, Sep 26, 11:06 AM

Fri, Sep 25

brooks added a comment to D60026: jail_{get,set}: user_ implementations.

This bit of abstraction would allow a freebsd32_jail_* implementations and will also a 64-bit version on CHERI targets.

Fri, Sep 25, 1:32 PM
brooks requested review of D60026: jail_{get,set}: user_ implementations.
Fri, Sep 25, 1:31 PM
brooks requested review of D60025: sys/uio: add updateiov().
Fri, Sep 25, 1:31 PM
brooks requested review of D60024: uio: make *copyinuio take a void *.
Fri, Sep 25, 1:30 PM
brooks added a comment to D60023: amd64: gate WRMSRNS immediate form on compiler support.

Ideally there would be a GCC gate as well, but I couldn't immediately find when support was added.

Fri, Sep 25, 12:48 PM
brooks updated the summary of D60023: amd64: gate WRMSRNS immediate form on compiler support.
Fri, Sep 25, 12:46 PM
brooks requested review of D60023: amd64: gate WRMSRNS immediate form on compiler support.
Fri, Sep 25, 12:45 PM
brooks added a comment to D59815: amd64: implement support for disabling splitlocks.

rG20c09e6fece29dbcf4835b4dd90e969f1b9b3e59 raised the minimum LLVM version to build FreeBSD to 20. That's probably too far given that 15.1 still has 19.

Fri, Sep 25, 10:48 AM
brooks accepted D59994: xdr: Fix xdr_string.

Reading this code again, I did find myself wondering if we should explictly skip the size < maxsize check in the XDR_FREE case instead of overriding maxsize.

Fri, Sep 25, 9:25 AM

Wed, Sep 23

brooks committed R11:7f6faabbe619: devel/llvm23: 23.1.2 release (authored by brooks).
devel/llvm23: 23.1.2 release
Wed, Sep 23, 4:11 PM
brooks committed R11:341d7379f1de: devel/llvm20: fix plist orphan with flang (authored by brooks).
devel/llvm20: fix plist orphan with flang
Wed, Sep 23, 4:11 PM
brooks added a comment to D59892: lib/csu: add LoongArch support.

A few high-level comments.

Wed, Sep 23, 9:27 AM

Mon, Sep 21

brooks accepted D59858: ci: Remove Cirrus CI files.
Mon, Sep 21, 9:56 AM
brooks committed rGe376d28ce861: LINT: enable KLD_DEBUG (authored by brooks).
LINT: enable KLD_DEBUG
Mon, Sep 21, 9:55 AM
brooks committed rG0a3d54a47eb6: kern_linker: use __func__ correctly in diagnostics (authored by brooks).
kern_linker: use __func__ correctly in diagnostics
Mon, Sep 21, 9:55 AM

Fri, Sep 18

brooks closed D58756: llvm21: Fix build on libcxx 22.
Fri, Sep 18, 2:01 PM
brooks committed R11:9c27fe693f5b: devel/llvm21: fix build with libcxx 22 (authored by brooks).
devel/llvm21: fix build with libcxx 22
Fri, Sep 18, 2:01 PM
brooks committed R11:cae903c04ffa: devel/llvm22: fix arm64 and FLANG plists (authored by brooks).
devel/llvm22: fix arm64 and FLANG plists
Fri, Sep 18, 9:01 AM
brooks committed R11:a1d58f91d440: devel/llvm-devel: new snapshot (authored by brooks).
devel/llvm-devel: new snapshot
Fri, Sep 18, 9:01 AM

Tue, Sep 15

brooks added a comment to D59380: install: amortize metalog locking/flushing with a memory buffer.
In D59380#1362825, @des wrote:

Even if another program is writing to the same file at the same time, the kernel serializes those writes and each line is written atomically. If the log is on NFS each write is a single request and should be handled atomically by the server, even if it is too long for a single packet.

This is the part that makes me uneasy. This seems to amount to "short writes can't happen". I do not believe write(2) makes any such guarantee and I am familiar with file systems where this is not true. The implementation of the kernel function dofilewrite (sys_write / kern_writev / dofilewrite) seems to support the idea that short writes are a contemplated and supported part of the VFS design. This very program handles short writes in its copy() routine.

Anyway, I agree that an 30% gain is small potatoes when a 15x gain seems possible, so maybe the patch at hand is not the right approach.

Tue, Sep 15, 12:33 PM

Sun, Sep 13

brooks committed rGc1e733258770: sendfile(2): rework compat implementation (authored by brooks).
sendfile(2): rework compat implementation
Sun, Sep 13, 8:43 AM
brooks closed D59034: sendfile(2): rework compat implementation.
Sun, Sep 13, 8:42 AM

Thu, Sep 10

brooks updated the summary of D59034: sendfile(2): rework compat implementation.
Thu, Sep 10, 1:02 PM
brooks updated the diff for D59034: sendfile(2): rework compat implementation.

Expand struct sendfile_args in kern_sendfile signature

Thu, Sep 10, 1:01 PM

Wed, Sep 9

brooks committed R11:6de8f0cdfdc4: devel/llvm23: 23.1.1 release (authored by brooks).
devel/llvm23: 23.1.1 release
Wed, Sep 9, 6:45 PM

Aug 27 2026

brooks committed R11:e4be6d84c3fd: devel/llvm23: 23.1.0 Release (authored by brooks).
devel/llvm23: 23.1.0 Release
Aug 27 2026, 11:59 AM

Aug 26 2026

brooks added inline comments to D59034: sendfile(2): rework compat implementation.
Aug 26 2026, 12:39 PM
brooks requested review of D59198: sendfile: remove COMPAT_FREEBSD4 from kern_sendfile.
Aug 26 2026, 12:34 PM

Aug 25 2026

brooks added a comment to D59034: sendfile(2): rework compat implementation.
In D59034#1354663, @kib wrote:

Why passing struct sendile_args to kern_sendfile()? This is not how all other kern_* wrappers are done, and IMO is worse than flattening the args. You have to explicitly initialize the literal anyway, which makes it equivalent to list the function's argument in the call.

Aug 25 2026, 9:56 AM
brooks updated the diff for D59034: sendfile(2): rework compat implementation.
  • freebsd32_copyin_hdtr: take a void *, fix trailer count
  • make copyinuio_t take a void * (but don't update the functions yet)
Aug 25 2026, 9:56 AM

Aug 20 2026

brooks committed rG2ff0ca5272c8: uexterror(3): install the right manpage (authored by brooks).
uexterror(3): install the right manpage
Aug 20 2026, 1:32 PM
brooks committed rG94f86eff72ed: uexterror_gettext: add tests for invalid formats (authored by brooks).
uexterror_gettext: add tests for invalid formats
Aug 20 2026, 10:42 AM
brooks committed rG95e33099c74d: runtime: add the ability to set exterrors in userspace (authored by brooks).
runtime: add the ability to set exterrors in userspace
Aug 20 2026, 10:42 AM
brooks committed rG2f024a7cfddd: exterr: relax format restrictions (authored by brooks).
exterr: relax format restrictions
Aug 20 2026, 10:42 AM
brooks committed rGddf6065122e8: exterr(9): add a few tests of new message formats (authored by brooks).
exterr(9): add a few tests of new message formats
Aug 20 2026, 10:42 AM
brooks closed D58413: uexterror_gettext: add tests for invalid formats.
Aug 20 2026, 10:42 AM
brooks closed D58059: runtime: add the ability to set exterrors in userspace.
Aug 20 2026, 10:42 AM
brooks closed D58060: exterr(9): add a few tests of new message formats.
Aug 20 2026, 10:42 AM
brooks closed D58058: exterr: relax format restrictions.
Aug 20 2026, 10:42 AM
brooks committed R11:7df677c128d2: Uses/llvm.mk: add 23 to valid versions list (authored by brooks).
Uses/llvm.mk: add 23 to valid versions list
Aug 20 2026, 10:18 AM
brooks committed R11:d30aaf1a494b: devel/llvm-devel: add missing patch (authored by brooks).
devel/llvm-devel: add missing patch
Aug 20 2026, 9:47 AM
brooks added a comment to D59034: sendfile(2): rework compat implementation.

Merging the implementations will avoid future instances of oversights like the one fixed in 4b17776d9afd0009ac8547126c59c97eda0f3fc9 as well as avoiding a third copy of this code from freebsd64 when it lands.

Aug 20 2026, 9:19 AM
brooks requested review of D59034: sendfile(2): rework compat implementation.
Aug 20 2026, 9:16 AM

Aug 19 2026

brooks committed R11:e6173e930111: devel/llvm-devel: new snapshot (authored by brooks).
devel/llvm-devel: new snapshot
Aug 19 2026, 1:55 PM

Aug 18 2026

brooks added a comment to D58756: llvm21: Fix build on libcxx 22.

Please name the file following the exiting convention (patch-backport-4bed796a5fea) and produce with --no-prefix.

Aug 18 2026, 9:04 AM

Aug 15 2026

brooks committed R11:1b90ca14615b: devel/llvm-devel: fix py-furo depend (authored by brooks).
devel/llvm-devel: fix py-furo depend
Aug 15 2026, 5:56 PM

Aug 14 2026

brooks committed R11:a85780960dcb: devel/llvm-devel: new snapshot (authored by brooks).
devel/llvm-devel: new snapshot
Aug 14 2026, 9:18 AM
brooks committed R11:8855efffd4fa: devel/llvm23: 23.1.0-rc3 (authored by brooks).
devel/llvm23: 23.1.0-rc3
Aug 14 2026, 9:17 AM

Aug 3 2026

brooks committed rG7516130eb912: kdump(1): minimally adapt to exterror category sources (authored by brooks).
kdump(1): minimally adapt to exterror category sources
Aug 3 2026, 9:44 PM
brooks committed rG5dff273d680a: uexterr_gettext(3): support dynamic kernel categories (authored by brooks).
uexterr_gettext(3): support dynamic kernel categories
Aug 3 2026, 9:44 PM
brooks committed rG295f10230903: exterror(9): dynamic kernel categories (authored by brooks).
exterror(9): dynamic kernel categories
Aug 3 2026, 9:44 PM
brooks committed rGbbf95a9b8481: exterror(9): split category into multiple sources (authored by brooks).
exterror(9): split category into multiple sources
Aug 3 2026, 9:44 PM
brooks closed D58412: kdump(1): minimally adapt to exterror category sources.
Aug 3 2026, 9:44 PM
brooks closed D58238: uexterr_gettext(3): support dynamic kernel categories.
Aug 3 2026, 9:44 PM
brooks closed D58237: exterror(9): dynamic kernel categories.
Aug 3 2026, 9:44 PM
brooks closed D58236: exterr: split category into multiple sources.
Aug 3 2026, 9:44 PM
brooks committed R11:02fb4e16e84b: devel/llvm23: welcome 23.1.0-rc2 (authored by brooks).
devel/llvm23: welcome 23.1.0-rc2
Aug 3 2026, 6:18 PM
brooks committed R11:9159d5a81604: devel/llvm23: bootstrap from devel/llvm22 (authored by brooks).
devel/llvm23: bootstrap from devel/llvm22
Aug 3 2026, 6:18 PM
brooks committed rG6880edbfd5aa: rtld: fix indentation of multiline conditional (authored by brooks).
rtld: fix indentation of multiline conditional
Aug 3 2026, 4:48 PM
brooks accepted D33964: proc: Use more appropriate types for KERN_PROC_VM_LAYOUT.
Aug 3 2026, 4:47 PM

Jul 28 2026

brooks accepted D58489: rpcgen: Const correctness for C23.

Seems reasonable to me.

Jul 28 2026, 1:55 PM

Jul 27 2026

brooks committed R11:a89113945498: devel/llvm-devel: pre llvm23 branch snapshot (authored by brooks).
devel/llvm-devel: pre llvm23 branch snapshot
Jul 27 2026, 2:13 PM
brooks committed R11:9517234e9af5: devel/llvm22: backport commit 93a67259cf23 from llvm git (authored by brooks).
devel/llvm22: backport commit 93a67259cf23 from llvm git
Jul 27 2026, 10:10 AM
brooks committed R11:a4f732450dd3: devel/llvm12: greatly slim the set of options (authored by brooks).
devel/llvm12: greatly slim the set of options
Jul 27 2026, 10:10 AM
brooks committed R11:8247b52ba488: devel/llvm-{cheri,morello}: new snapshots (authored by brooks).
devel/llvm-{cheri,morello}: new snapshots
Jul 27 2026, 10:10 AM
brooks committed R11:f397b2a6f6f3: devel/oclgrind: update to 26.03.1 (authored by brooks).
devel/oclgrind: update to 26.03.1
Jul 27 2026, 10:10 AM
brooks committed R11:4d0a5a9f13c7: devel/llvm22: 22.1.8 release (authored by brooks).
devel/llvm22: 22.1.8 release
Jul 27 2026, 10:10 AM
brooks updated the diff for D58059: runtime: add the ability to set exterrors in userspace.

Correct feature introduction to 16.0. Bump doc date.

Jul 27 2026, 9:49 AM

Jul 24 2026

brooks updated subscribers of D58059: runtime: add the ability to set exterrors in userspace.
Jul 24 2026, 10:53 AM
brooks added a comment to D58237: exterror(9): dynamic kernel categories.
Jul 24 2026, 10:50 AM
brooks updated the diff for D58412: kdump(1): minimally adapt to exterror category sources.

Put the common case inside the switch statement

Jul 24 2026, 10:49 AM
brooks updated the diff for D58413: uexterror_gettext: add tests for invalid formats.

Actually describe this test

Jul 24 2026, 10:37 AM
brooks updated the diff for D58060: exterr(9): add a few tests of new message formats.

Improve test description

Jul 24 2026, 10:37 AM
brooks updated the diff for D58059: runtime: add the ability to set exterrors in userspace.

Move global struct uexterror and constructor to its own file

Jul 24 2026, 10:36 AM
brooks updated the diff for D58237: exterror(9): dynamic kernel categories.

Switch to rwlock, hoist free outside the locked region.

Jul 24 2026, 10:35 AM

Jul 23 2026

brooks updated the diff for D58413: uexterror_gettext: add tests for invalid formats.

Fix some whitespace

Jul 23 2026, 3:04 PM
brooks requested review of D58413: uexterror_gettext: add tests for invalid formats.
Jul 23 2026, 3:04 PM
brooks updated the summary of D58059: runtime: add the ability to set exterrors in userspace.
Jul 23 2026, 3:01 PM
brooks added inline comments to D58059: runtime: add the ability to set exterrors in userspace.
Jul 23 2026, 3:00 PM
brooks updated the diff for D58059: runtime: add the ability to set exterrors in userspace.

Move to its own file, document, update copyrights

Jul 23 2026, 3:00 PM
brooks updated the diff for D58238: uexterr_gettext(3): support dynamic kernel categories.

Make "sys/" prefix depend on category source. Move test to D58237

Jul 23 2026, 2:57 PM
brooks updated the diff for D58237: exterror(9): dynamic kernel categories.

Move test here from D58238

Jul 23 2026, 2:56 PM
brooks requested review of D58412: kdump(1): minimally adapt to exterror category sources.
Jul 23 2026, 2:51 PM
brooks updated the summary of D58236: exterr: split category into multiple sources.
Jul 23 2026, 2:48 PM
brooks updated the summary of D58058: exterr: relax format restrictions.
Jul 23 2026, 2:47 PM
brooks updated the diff for D58058: exterr: relax format restrictions.

When an unsupported or broken format is encoutered emite a warning like "<unsupported-format>".

Jul 23 2026, 2:46 PM
brooks updated the diff for D58058: exterr: relax format restrictions.

Emit errors in formatted text for unsupported or invalid formats.

Jul 23 2026, 11:18 AM
brooks added inline comments to D58060: exterr(9): add a few tests of new message formats.
Jul 23 2026, 8:41 AM

Jul 22 2026

brooks updated the diff for D58060: exterr(9): add a few tests of new message formats.

Update for UEXTERROR returning void.

Jul 22 2026, 3:27 PM
brooks updated the diff for D58059: runtime: add the ability to set exterrors in userspace.

Add docs. Make uexterr_set return void.

Jul 22 2026, 3:25 PM
brooks updated the diff for D58060: exterr(9): add a few tests of new message formats.

Use UEXTERROR().

Jul 22 2026, 1:59 PM
brooks updated the diff for D58059: runtime: add the ability to set exterrors in userspace.

Add UEXTERROR() analog to EXTERROR(). It differs in that it just wraps uexterr_set and thus it gets a different name.

Jul 22 2026, 1:58 PM
brooks retitled D58059: runtime: add the ability to set exterrors in userspace from runtime: add uexterr_set(3) to set errors in userspace to runtime: add the ability to set exterrors in userspace.
Jul 22 2026, 1:54 PM