Page MenuHomeFreeBSD

jrtc27 (Jessica Clarke)
User

Projects

User Details

User Since
Jul 4 2018, 7:23 PM (426 w, 3 d)

Recent Activity

Thu, Sep 3

jrtc27 added inline comments to D59377: mkimg: Restore offset support for the SIZE partition form.
Thu, Sep 3, 11:50 PM
jrtc27 added inline comments to D59377: mkimg: Restore offset support for the SIZE partition form.
Thu, Sep 3, 11:45 PM

Wed, Sep 2

jrtc27 added a comment to D59269: x86: add support for TLSDESC relocations.
In D59269#1360942, @kib wrote:

Regarding leaking, glibc does seem to store them in a hash table tied to link_map (i.e. Obj_Entry) so will free on dlclose, unlike our arm64 implementation. Linked list seems a bit unnecessarily slow, but at the same time extensive dynamic TLSDESC + dlclose is probably not common enough to actually benefit from something like a reallocarray-based storage.

The list is only traversed on dlclose() to free items, so I do not see it as causing any slowdown. In fact, where the hashed lookup would be useful?

Wed, Sep 2, 12:46 AM
jrtc27 added inline comments to D59269: x86: add support for TLSDESC relocations.
Wed, Sep 2, 12:37 AM
jrtc27 added a comment to D59269: x86: add support for TLSDESC relocations.

Regarding leaking, glibc does seem to store them in a hash table tied to link_map (i.e. Obj_Entry) so will free on dlclose, unlike our arm64 implementation. Linked list seems a bit unnecessarily slow, but at the same time extensive dynamic TLSDESC + dlclose is probably not common enough to actually benefit from something like a reallocarray-based storage.

Wed, Sep 2, 12:32 AM
jrtc27 added a comment to D59269: x86: add support for TLSDESC relocations.

Looking at the glibc source, they do have an equivalent to the dtv_gen field, but the fast path check is whether the DTV's generation is >= that field, not ==. I think this is a time optimisation that avoids the need to access the global generation in order to do the check, instead just using a copy that's more to hand, and also lets you avoid taking the slow path for DTV entries that don't actually need it, even though the generation counter is ahead (e.g. if you dlopen A, use TLS for A, dlopen B, then use TLS for A, you can still use the fast path, but ye olde __tls_get_addr doesn't know that, so will pessimistically update the DTV for B's load).

Wed, Sep 2, 12:27 AM
jrtc27 added inline comments to D59269: x86: add support for TLSDESC relocations.
Wed, Sep 2, 12:16 AM
jrtc27 added a comment to D59269: x86: add support for TLSDESC relocations.

I believe both to be true, yes (and have previously deduced the latter myself, too...)

Wed, Sep 2, 12:01 AM

Fri, Aug 28

jrtc27 accepted D59250: cat: add -A, -E and -T flags.

Minor nits on the implementation but looks functionally correct. Will defer to Alex and others for finessing the manpage.

Fri, Aug 28, 4:13 PM

Fri, Aug 21

jrtc27 added a comment to D59058: release: Use "debug info" for lib32 set description.

IMO it's fine to mix abbreviated and full forms of the same term (and I guess the mix-and-match "debugging info" and "debug information"); you wouldn't want the long form here as the dialog is quite small, but that's fine in prosaic text. But yes, the "data" ones should be converted over. Sometimes we also say "files", but that's also fine as it's talking about the files themselves not their contents (though one might argue they should be "debug(ging) info(rmation) files").

Fri, Aug 21, 1:08 PM
jrtc27 added a comment to D59058: release: Use "debug info" for lib32 set description.

-g, -gline-tables-only, -gmodules

	    Control debug information output
Fri, Aug 21, 12:45 PM

Fri, Aug 7

jrtc27 committed rGa554906ea44c: bhyve: rtc_pl031: Fix PeriphID and CellID values (authored by kajetan.puchalski_arm.com).
bhyve: rtc_pl031: Fix PeriphID and CellID values
Fri, Aug 7, 1:09 PM

Aug 6 2026

jrtc27 committed rGf93ab5858523: link_elf: Make phdrs first page check actually fatal (authored by jrtc27).
link_elf: Make phdrs first page check actually fatal
Aug 6 2026, 6:06 PM
jrtc27 committed rG1f62c6f0fc4a: Merge commit 6b0a46958c56 from llvm-project (by Piotr Kubaj): (authored by jrtc27).
Merge commit 6b0a46958c56 from llvm-project (by Piotr Kubaj):
Aug 6 2026, 6:06 PM
jrtc27 committed rGaa3b76871e96: Merge commit 26bf39cdba0b from llvm-project (by Jessica Clarke): (authored by jrtc27).
Merge commit 26bf39cdba0b from llvm-project (by Jessica Clarke):
Aug 6 2026, 6:06 PM
jrtc27 committed rGf89b8493d7b2: Merge commit cbf48349e3e1 from llvm-project (by Jessica Clarke): (authored by jrtc27).
Merge commit cbf48349e3e1 from llvm-project (by Jessica Clarke):
Aug 6 2026, 6:06 PM
jrtc27 committed rG2705320b7c82: libllvmminimal: Fix building with LLVM < 21 on riscv64 (authored by jrtc27).
libllvmminimal: Fix building with LLVM < 21 on riscv64
Aug 6 2026, 6:05 PM
jrtc27 committed rG6454c6e82590: lib/clang: Fix bootstrapping on macOS after LLVM 21 merge (authored by jrtc27).
lib/clang: Fix bootstrapping on macOS after LLVM 21 merge
Aug 6 2026, 6:05 PM
jrtc27 committed rG9facb187c9aa: link_elf: Make phdrs first page check actually fatal (authored by jrtc27).
link_elf: Make phdrs first page check actually fatal
Aug 6 2026, 6:04 PM
jrtc27 committed rGac26e70f96c0: Merge commit 6b0a46958c56 from llvm-project (by Piotr Kubaj): (authored by jrtc27).
Merge commit 6b0a46958c56 from llvm-project (by Piotr Kubaj):
Aug 6 2026, 6:04 PM
jrtc27 committed rG310a5a993ac8: Merge commit 26bf39cdba0b from llvm-project (by Jessica Clarke): (authored by jrtc27).
Merge commit 26bf39cdba0b from llvm-project (by Jessica Clarke):
Aug 6 2026, 6:04 PM
jrtc27 committed rGbf61c2737559: Merge commit cbf48349e3e1 from llvm-project (by Jessica Clarke): (authored by jrtc27).
Merge commit cbf48349e3e1 from llvm-project (by Jessica Clarke):
Aug 6 2026, 6:04 PM
jrtc27 committed rG6184b31972ff: arm64/vmm: Fix vgic_v3 dropping EOI for disabled IRQs (authored by jrtc27).
arm64/vmm: Fix vgic_v3 dropping EOI for disabled IRQs
Aug 6 2026, 6:04 PM
jrtc27 committed rGb029b0d0e69c: arm64/vmm: Fix vgic_v3 copy paste error for writing to GICD_ICENABLERn (authored by jrtc27).
arm64/vmm: Fix vgic_v3 copy paste error for writing to GICD_ICENABLERn
Aug 6 2026, 6:04 PM
jrtc27 committed rG560cf46476e0: libllvmminimal: Fix building with LLVM < 21 on riscv64 (authored by jrtc27).
libllvmminimal: Fix building with LLVM < 21 on riscv64
Aug 6 2026, 6:03 PM
jrtc27 committed rG52fcb9a9126e: lib/clang: Fix bootstrapping on macOS after LLVM 21 merge (authored by jrtc27).
lib/clang: Fix bootstrapping on macOS after LLVM 21 merge
Aug 6 2026, 6:03 PM

Jul 31 2026

jrtc27 accepted D58558: libc: Reject static ELF exectables with PT_TLS segments were filesz > memsz.
Jul 31 2026, 3:11 PM

Jul 30 2026

jrtc27 accepted D58558: libc: Reject static ELF exectables with PT_TLS segments were filesz > memsz.

But LGTM aside from that

Jul 30 2026, 10:01 PM
jrtc27 added inline comments to D58558: libc: Reject static ELF exectables with PT_TLS segments were filesz > memsz.
Jul 30 2026, 9:59 PM
jrtc27 accepted D58550: amd64: try to fix the build with old clang that does not know about FRED.

Thanks

Jul 30 2026, 12:03 PM
jrtc27 added inline comments to D58550: amd64: try to fix the build with old clang that does not know about FRED.
Jul 30 2026, 11:36 AM
jrtc27 accepted D58550: amd64: try to fix the build with old clang that does not know about FRED.
Jul 30 2026, 11:18 AM
jrtc27 added a comment to D58550: amd64: try to fix the build with old clang that does not know about FRED.

Looks like phab mangled my tabs so the updated lines are all using spaces :(

Jul 30 2026, 10:58 AM
jrtc27 added inline comments to D58550: amd64: try to fix the build with old clang that does not know about FRED.
Jul 30 2026, 10:38 AM
jrtc27 accepted D58543: stand: Reject ELF files with PT_LOAD segments where filesz > memsz.
Jul 30 2026, 10:07 AM
jrtc27 accepted D58542: kld: Reject kernel modules with PT_LOAD segments where filesz > memsz.

I just used their email address for Reported by because given (a) the lack of history with the project (b) no trace of them existing anywhere else online (c) the low-quality suspicious nature of the patches (d) the name being one of *the* quintessential placeholders, I am suspicious as to whether it's their real name.

Jul 30 2026, 10:05 AM
jrtc27 accepted D58541: rtld: Reject ELF files with PT_LOAD or PT_TLS segments where filesz > memsz.

There's also lib/libc/gen/tls.c for PT_TLS

Jul 30 2026, 10:00 AM

Jul 29 2026

jrtc27 committed rG1e39a314d870: link_elf: Make phdrs first page check actually fatal (authored by jrtc27).
link_elf: Make phdrs first page check actually fatal
Jul 29 2026, 2:12 PM
jrtc27 added a comment to D57788: link_elf: Program-header bounds check is non‑fatal (link_elf_load_file).

Fixed properly in 1e39a314d870e312f623199e146eda6bdbc293a3.

Jul 29 2026, 2:11 PM
jrtc27 requested changes to D57788: link_elf: Program-header bounds check is non‑fatal (link_elf_load_file).

I don't think you tested this.

Jul 29 2026, 2:04 PM

Jul 28 2026

jrtc27 committed rG70509d1d9cba: Merge commit 6b0a46958c56 from llvm-project (by Piotr Kubaj): (authored by jrtc27).
Merge commit 6b0a46958c56 from llvm-project (by Piotr Kubaj):
Jul 28 2026, 11:55 AM

Jul 27 2026

jrtc27 committed rGb68f2fe1932c: Merge commit 26bf39cdba0b from llvm-project (by Jessica Clarke): (authored by jrtc27).
Merge commit 26bf39cdba0b from llvm-project (by Jessica Clarke):
Jul 27 2026, 4:57 PM
jrtc27 committed rGbcbcd7303009: Merge commit cbf48349e3e1 from llvm-project (by Jessica Clarke): (authored by jrtc27).
Merge commit cbf48349e3e1 from llvm-project (by Jessica Clarke):
Jul 27 2026, 4:56 PM
jrtc27 committed R11:180a2c830a89: lang/rust{,-bootstrap}, Mk/Uses/cargo.mk: Relax COMPAT_FREEBSD11 check (authored by jrtc27).
lang/rust{,-bootstrap}, Mk/Uses/cargo.mk: Relax COMPAT_FREEBSD11 check
Jul 27 2026, 10:31 AM
jrtc27 committed R11:6645f84b28dc: Mk/Uses/cargo.mk: Drop stray backslashes from DEV_ERROR/WARNING messages (authored by jrtc27).
Mk/Uses/cargo.mk: Drop stray backslashes from DEV_ERROR/WARNING messages
Jul 27 2026, 10:31 AM
jrtc27 committed R11:4dc0e9ac42ad: lang/rust{,-bootstrap}, Mk/Uses/cargo.mk: Relax COMPAT_FREEBSD11 check (authored by jrtc27).
lang/rust{,-bootstrap}, Mk/Uses/cargo.mk: Relax COMPAT_FREEBSD11 check
Jul 27 2026, 10:30 AM
jrtc27 committed R11:f6977b775285: Mk/Uses/cargo.mk: Drop stray backslashes from DEV_ERROR/WARNING messages (authored by jrtc27).
Mk/Uses/cargo.mk: Drop stray backslashes from DEV_ERROR/WARNING messages
Jul 27 2026, 10:30 AM

Jul 19 2026

jrtc27 added a comment to D58318: acpi: fix i386 build for bus_read_8 and bus_write_8.

D58301 seems a better alternative to this?

Jul 19 2026, 4:08 PM
jrtc27 added inline comments to D58333: libucl: Import libucl 0.9.4.
Jul 19 2026, 3:43 PM
jrtc27 added a comment to D58301: apei: Fix i386 build.

bus_read_8 has been replace to bus_space_read series in sys/bus.h.

Not sure what "bus_space_read series" is though, should that not be bus_space_read_8?

Sorry, it should be bus_space_{read,write} series.

But why series? I don't understand. Why not just use the _8 suffix everywhere?

The _8 suffix remains unchanged before and after my patch. The purpose of this change is to replace the original bus_ series with the bus_space_ series.

Ok, I think I now can decipher what you're trying to get at. What you're trying to say, I think, is something like the following?

bus_{read,write}_8 are macro wrappers around the corresponding bus_space functions in sys/bus.h, so implementing bus_{read,write}_8 won't work. Implement the underlying bus_space functions instead.

Yes, sorry about my bad english expression:)

Jul 19 2026, 3:30 PM
jrtc27 added a comment to D58301: apei: Fix i386 build.

bus_read_8 has been replace to bus_space_read series in sys/bus.h.

Not sure what "bus_space_read series" is though, should that not be bus_space_read_8?

Sorry, it should be bus_space_{read,write} series.

But why series? I don't understand. Why not just use the _8 suffix everywhere?

The _8 suffix remains unchanged before and after my patch. The purpose of this change is to replace the original bus_ series with the bus_space_ series.

Jul 19 2026, 2:55 PM
jrtc27 added a comment to D58301: apei: Fix i386 build.

bus_read_8 has been replace to bus_space_read series in sys/bus.h.

Not sure what "bus_space_read series" is though, should that not be bus_space_read_8?

Sorry, it should be bus_space_{read,write} series.

Jul 19 2026, 2:30 PM
jrtc27 added a comment to D58301: apei: Fix i386 build.

bus_read_8 has been replace to bus_space_read series in sys/bus.h.

Jul 19 2026, 2:17 PM
jrtc27 accepted D58301: apei: Fix i386 build.

Huh, I hadn't thought of doing it this way. This does seem like a better approach than D58318 and, assuming there's no concern about other code accidentally using these (which is no different to the intent of the existing bus_read_8/bus_write_8 stubbing), reintroducing the READ8/WRITE8 macros (whether called that or something else).

Jul 19 2026, 2:16 PM

Jul 18 2026

jrtc27 committed rG123dfd378959: arm64/vmm: Fix vgic_v3 dropping EOI for disabled IRQs (authored by jrtc27).
arm64/vmm: Fix vgic_v3 dropping EOI for disabled IRQs
Jul 18 2026, 12:13 AM
jrtc27 committed rG422a530c8008: arm64/vmm: Fix vgic_v3 copy paste error for writing to GICD_ICENABLERn (authored by jrtc27).
arm64/vmm: Fix vgic_v3 copy paste error for writing to GICD_ICENABLERn
Jul 18 2026, 12:13 AM

Jul 17 2026

jrtc27 added inline comments to D58208: hwpstate_intel: Fix i386 build.
Jul 17 2026, 1:31 PM

Jul 13 2026

jrtc27 committed R11:ef24c3da9913: graphics/jpeg-turbo: Apply upstream patch to fix riscv64 (authored by jrtc27).
graphics/jpeg-turbo: Apply upstream patch to fix riscv64
Jul 13 2026, 6:24 PM
jrtc27 committed R11:23ed1126e58b: graphics/jpeg-turbo: Apply upstream patch to fix riscv64 (authored by jrtc27).
graphics/jpeg-turbo: Apply upstream patch to fix riscv64
Jul 13 2026, 6:16 PM
jrtc27 added a comment to D58208: hwpstate_intel: Fix i386 build.

(But also happy with the current diff if you'd rather go with that)

Jul 13 2026, 10:38 AM
jrtc27 added inline comments to D58208: hwpstate_intel: Fix i386 build.
Jul 13 2026, 10:38 AM
jrtc27 committed rGf6ee1d20d368: kern_thread: Fix i386 p_emuldata KBI assertion (authored by jrtc27).
kern_thread: Fix i386 p_emuldata KBI assertion
Jul 13 2026, 3:04 AM

Jul 11 2026

jrtc27 added a comment to D58118: [DNM] contrib/bsddialog: import version 1.2 rendering and API improvements.

Ok, so long as everyone's in agreement that this ultimately needs to land in FreeBSD as a vendor import of a new upstream release, I'm happy

Jul 11 2026, 3:02 PM

Jul 10 2026

jrtc27 added a comment to D58118: [DNM] contrib/bsddialog: import version 1.2 rendering and API improvements.

I don't see any of this upstream at https://gitlab.com/alfix/bsddialog, nor even as a merge request there?

Jul 10 2026, 1:28 PM

Jul 8 2026

jrtc27 added inline comments to D58104: FDT: implement fdt_ether_get_addr().
Jul 8 2026, 6:18 PM
jrtc27 added a comment to D58104: FDT: implement fdt_ether_get_addr().
Jul 8 2026, 6:18 PM
jrtc27 added inline comments to D58104: FDT: implement fdt_ether_get_addr().
Jul 8 2026, 6:16 PM

Jul 7 2026

jrtc27 added a comment to D57769: tools/build: Include build tool symlink targets.

Maybe for now it should just be "if ${_tool} is ld and a relative symlink to the same directory then wrap that too"?

Jul 7 2026, 3:49 PM
jrtc27 added a comment to D57769: tools/build: Include build tool symlink targets.

You can't unconditionally add it though. For XLD it's probably ok to just check whether it's "ld" or not, but for LD I don't know what the right thing to do is.

Jul 7 2026, 3:48 PM
jrtc27 added a comment to D57769: tools/build: Include build tool symlink targets.

Hm. If the link is absolute, we definitely don't need to do anything to it, and if the link is relative, well, who knows? We might already be linking it, copying it, adding our own wrapper, etc.

Jul 7 2026, 3:32 PM

Jul 6 2026

jrtc27 closed D58044: libllvmminimal: Fix building with LLVM < 21 on riscv64.
Jul 6 2026, 4:27 PM
jrtc27 committed rG7a0b9e30a5ba: libllvmminimal: Fix building with LLVM < 21 on riscv64 (authored by jrtc27).
libllvmminimal: Fix building with LLVM < 21 on riscv64
Jul 6 2026, 4:27 PM
jrtc27 accepted D58050: inotify: Unconditionally generate IN_IGNORED events for files/dirs.
Jul 6 2026, 1:28 AM
jrtc27 added a comment to D58050: inotify: Unconditionally generate IN_IGNORED events for files/dirs.

@jrtc27 note that IN_IGNORED and IN_UNMOUNT aren't events that you explicitly ask for when you call inotify_add_watch(), they're generated automatically.

Uh, I think you do? I don't think you're meant to get them if not in the mask.

No, you're supposed to get them no matter what you asked for. The Linux man page describes them as flags set by the kernel in returned events. Note also that these flags don't belong to IN_ALL_EVENTS.

Jul 6 2026, 1:24 AM
jrtc27 added a comment to D58050: inotify: Unconditionally generate IN_IGNORED events for files/dirs.

The untested https://termbin.com/tmhd is what my mental model is from reading the manpage and thinking about what sensible semantics would be. Maybe it should follow the existing locking discipline as in this patch, though I don't obviously see why that complexity is important for slightly shrinking the lock duration.

Jul 6 2026, 1:16 AM
jrtc27 added a comment to D58050: inotify: Unconditionally generate IN_IGNORED events for files/dirs.

@jrtc27 note that IN_IGNORED and IN_UNMOUNT aren't events that you explicitly ask for when you call inotify_add_watch(), they're generated automatically.

Jul 6 2026, 1:12 AM
jrtc27 added inline comments to D58050: inotify: Unconditionally generate IN_IGNORED events for files/dirs.
Jul 6 2026, 1:11 AM

Jul 5 2026

jrtc27 requested review of D58044: libllvmminimal: Fix building with LLVM < 21 on riscv64.
Jul 5 2026, 3:57 PM
jrtc27 added inline comments to D57623: riscv: Add support for the Svinval extension.
Jul 5 2026, 1:29 PM

Jul 1 2026

jrtc27 added a comment to D57846: makefs: Fix build on FreeBSD to handle birthtimes and other things.

We may still end up with local diffs to include it in places that upstream doesn't, though

Jul 1 2026, 1:56 PM
jrtc27 added inline comments to D55956: arm64: Add PROT_MTE to mmap.
Jul 1 2026, 12:41 PM
jrtc27 added inline comments to D55956: arm64: Add PROT_MTE to mmap.
Jul 1 2026, 12:31 PM
jrtc27 added inline comments to D55956: arm64: Add PROT_MTE to mmap.
Jul 1 2026, 12:22 PM
jrtc27 added a comment to D55956: arm64: Add PROT_MTE to mmap.

Linux lets you mprotect(PROT_MTE) to enable it. I don't know about disabling.

Jul 1 2026, 11:30 AM
jrtc27 added a comment to D57990: amr64: Switch from PV_MTE_TAGGED to PV_MTE_CLEAN.

Would inverting it to PV_MTE_DIRTY not make more sense, as then the default state (and pages that aren't even mapped with tags enabled) is 0?

Jul 1 2026, 11:25 AM

Jun 29 2026

jrtc27 added inline comments to D57662: CHERI: add mem{cpy,move}_data.
Jun 29 2026, 9:03 PM
jrtc27 added inline comments to D57662: CHERI: add mem{cpy,move}_data.
Jun 29 2026, 8:18 PM
jrtc27 added a comment to D57755: bsdinstall: add a hardening knob for unprivileged kenv access.

Implementation-wise it seems reasonable, but every time bsdinstall hardening gains an option the security world cries out in pain over having sensible defaults and good UX :')

Jun 29 2026, 8:08 PM
jrtc27 added inline comments to D57662: CHERI: add mem{cpy,move}_data.
Jun 29 2026, 8:05 PM
jrtc27 accepted D57951: generic_ehci_fdt: fix driver softc size.

Fixes: 7a58744fd0f1 ("Split out the attachment from the generic-ehci driver")

Jun 29 2026, 6:24 PM

Jun 27 2026

jrtc27 added inline comments to D57902: kldxref: Add -m filag to print info about modules in one file.
Jun 27 2026, 1:40 PM

Jun 25 2026

jrtc27 added inline comments to D57812: memory_model(7): create and document pointer provenance.
Jun 25 2026, 2:52 PM
jrtc27 added inline comments to D57812: memory_model(7): create and document pointer provenance.
Jun 25 2026, 2:41 PM

Jun 22 2026

jrtc27 added a comment to D57392: virtio: remove byte conversion function calls in modern pci.

The change itself looks fine but I think the commit message needs rewriting. It is quite verbose on irrelevant details (like how bus_(space_)* foo work under the hood), and talks about data on the PCI bus (which is implementation, not architecture). Also the bug reference should follow the proper format (see tools/tools/git/hooks/prepare-commit-msg). Honestly the commit message would be better if it was entirely replaced with something like:

Jun 22 2026, 4:54 PM

Jun 8 2026

jrtc27 added inline comments to D55956: arm64: Add PROT_MTE to mmap.
Jun 8 2026, 10:52 AM

Jun 4 2026

jrtc27 added a comment to D57422: GCE: Fix sed command.

Hm, this'll break if building on Linux... don't know if GCE is one of the ones for which that's now supported, probably not, but a bit sad to have this

Oh, I didn't know our VM image building code supported cross-building. That would explain why the original patch (which was submitted from Google) was wrong though.

Jun 4 2026, 1:19 AM
jrtc27 added a comment to D57422: GCE: Fix sed command.

Hm, this'll break if building on Linux... don't know if GCE is one of the ones for which that's now supported, probably not, but a bit sad to have this

Jun 4 2026, 12:24 AM

Jun 3 2026

jrtc27 accepted D57405: libc: fix strtold NaN representation on riscv.

Hm, seems the current version is the same as the arm file, and now it's the same as the aarch64 one? I'm guessing copying from arm is how this came to be...

Jun 3 2026, 5:48 PM

Jun 2 2026

jrtc27 added inline comments to D57382: etcupdate.8: Cross-reference build(7).
Jun 2 2026, 12:21 PM · Contributor Reviews (src), manpages, docs

Jun 1 2026

jrtc27 added a comment to D57379: riscv: Implement 8-bit and 16-bit atomic operations.
In D57379#1314791, @minsoochoo0122_proton.me wrote:
In D57379#1314785, @minsoochoo0122_proton.me wrote:

Having said that, what is the use case you have for these? Generally speaking you shouldn't be using sub-word atomics unless absolutely needed, since performance will be worse.

Just curious: do we have trampolines for sub-atomic operations at instruction level? Having them for Zabha or LDADD* would be great optimization opportunity.

I don't understand what your question means

The code has todo for Zabha support. I guess this means there will be implementation in future

if (has_zabha) {
    AMOADD.{B,H};
} else {
    load and fcmpset;
}

Oh, I think I used the term "trampoline" incorrectly here. I meant branching based on detection of Zabha (or equivalent on other ISA).

Back to my original question: How can we achieve this "special path" so processors with Zabha don't have severe performance impact?

Jun 1 2026, 6:18 PM