Page MenuHomeFreeBSD

tpearson_raptorengineering.com (Timothy Pearson)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 29 2025, 4:40 PM (32 w, 3 d)

Recent Activity

Yesterday

tpearson_raptorengineering.com added a comment to D55132: mpr: Don't consume entire DMA bounce buffer memory.
In D55132#1261784, @imp wrote:

I shared this with Chuck Silvers and he had some concerns I thought I understood, but that I'm having trouble articulating, so I'm adding him to the review rather than holding things up by puzzling through them and maybe getting it wrong..

Wed, Feb 11, 6:10 PM

Mon, Feb 9

tpearson_raptorengineering.com added a comment to D15818: Add a delayed VT attachment for ofwfb.

For reference, this is the Petitboot commit that added the feature in originally:

Mon, Feb 9, 3:00 PM

Fri, Feb 6

tpearson_raptorengineering.com updated the diff for D55132: mpr: Don't consume entire DMA bounce buffer memory.

Use system defined MAXPHYS value

Fri, Feb 6, 7:48 PM
tpearson_raptorengineering.com added a comment to D55132: mpr: Don't consume entire DMA bounce buffer memory.

On LP64 platforms (such as POWER9), MAXPHYS is 1MB (see sys/sys/_maxphys.h). But could you instead just make it 64 * maxphys (the tuned variable)?

Fri, Feb 6, 7:45 PM
tpearson_raptorengineering.com added inline comments to D55132: mpr: Don't consume entire DMA bounce buffer memory.
Fri, Feb 6, 7:44 PM

Thu, Feb 5

tpearson_raptorengineering.com added a comment to D55132: mpr: Don't consume entire DMA bounce buffer memory.

The man subsystem has a lot of lore, if you tag manpages when your patch changes a manual, we'll help you with it! It's easier for us if you use -U9999 so we can get the full context in phabricator.

Thu, Feb 5, 7:10 PM
tpearson_raptorengineering.com updated the diff for D55132: mpr: Don't consume entire DMA bounce buffer memory.

Update manpage and fix tunable registration

Thu, Feb 5, 7:07 PM
tpearson_raptorengineering.com added a comment to D55132: mpr: Don't consume entire DMA bounce buffer memory.

Updated to move this to a tunable. From what I can see MAXPHYS is only 128k, and is not available to drivers as a constant. As a result, we actually end up only allocating 8MB by default; if I missed something just let me know and I'll update the MAXPHYS to match...

Thu, Feb 5, 6:59 PM
tpearson_raptorengineering.com updated the diff for D55132: mpr: Don't consume entire DMA bounce buffer memory.
Thu, Feb 5, 6:55 PM
tpearson_raptorengineering.com added a comment to D55132: mpr: Don't consume entire DMA bounce buffer memory.

Understood. What would a sane value be here? 4GB is way too large (as an example, the allocation we actually get on a server that doesn't have a ton of other cards installed is "only" ~1.8GB), would 128MB or 512MB be workable?

Thu, Feb 5, 5:56 PM
tpearson_raptorengineering.com added a comment to D55132: mpr: Don't consume entire DMA bounce buffer memory.

Example boot, hotplug, and hot remove of disk device with this patch applied. Note that without this patch the driver won't load, since ~2GB of bounce buffers are allocated and the DMA template tag request fails.

Thu, Feb 5, 5:52 PM
tpearson_raptorengineering.com requested review of D55132: mpr: Don't consume entire DMA bounce buffer memory.
Thu, Feb 5, 5:50 PM
tpearson_raptorengineering.com closed D55095: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9).

Committed in 1364e7d0921b

Thu, Feb 5, 4:43 PM · PowerPC
tpearson_raptorengineering.com committed rG1364e7d0921b: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9) (authored by tpearson_raptorengineering.com).
powerpc64: Fix disappearing low memory on radix MMU systems (POWER9)
Thu, Feb 5, 4:42 PM
tpearson_raptorengineering.com updated the diff for D55084: powerpc64/busdma: Migrate bounce DMA to common framework.
Thu, Feb 5, 5:21 AM · PowerPC
tpearson_raptorengineering.com updated the diff for D55095: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9).
Thu, Feb 5, 5:12 AM · PowerPC
tpearson_raptorengineering.com updated the diff for D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.
Thu, Feb 5, 5:11 AM · PowerPC
tpearson_raptorengineering.com added inline comments to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.
Thu, Feb 5, 5:10 AM · PowerPC

Wed, Feb 4

tpearson_raptorengineering.com added a comment to D55095: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9).

oh that's a good catch!

What about regions, pregions, numa_pregions, etc? Are there any other shared variables that need to be unified here?

Wed, Feb 4, 5:34 PM · PowerPC
tpearson_raptorengineering.com added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

After overnight stress testing, a combination of D55095 and using the correct DMA tag seems to have completely resolved the AHCI instability I was seeing with this patchset applied.

Wed, Feb 4, 5:18 PM · PowerPC
tpearson_raptorengineering.com added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

Thanks for that!

Wed, Feb 4, 5:23 AM · PowerPC
tpearson_raptorengineering.com requested review of D55095: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9).
Wed, Feb 4, 5:22 AM · PowerPC
tpearson_raptorengineering.com added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

Digging further, at least some of the problem here seems to be from our rather unique memory allocation on POWER9:

Wed, Feb 4, 2:38 AM · PowerPC
tpearson_raptorengineering.com added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

OK, thanks for testing. I spent most of the day already going over the codebase trying to figure out what might be going wrong, and all I've come up with thus far is that the 32-bit MMIO window setup and DMA configuration both make no sense. It shouldn't even be working at all on POWER9 using the stock code (without this patch).

Wed, Feb 4, 1:04 AM · PowerPC

Tue, Feb 3

tpearson_raptorengineering.com added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

! In D54745#1259084, @adrian wrote:
my POWER8 box does, but that may not be good enough?

Tue, Feb 3, 5:42 PM · PowerPC
tpearson_raptorengineering.com updated subscribers of D55084: powerpc64/busdma: Migrate bounce DMA to common framework.

@adrian Could you give this patch set a thorough test as well? It is not dependent on D54745, I mainly want some additional testing without this on top of D54745 and a merge before going to the next phase of IOMMU enablement. D54745 has some issues with DMA and the AHCI controller that I don't currently understand and will need further investigation.

Tue, Feb 3, 5:34 PM · PowerPC
tpearson_raptorengineering.com added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

When testing, does anyone else have access to a SATA controller that does DMA? I'm sporadically seeing the Blackbird's AHCI controller lock up but I don't know if this is a PE freeze, bad DMA, or something completely unrelated (flaky cabling?):

Tue, Feb 3, 4:29 PM · PowerPC
tpearson_raptorengineering.com requested review of D55084: powerpc64/busdma: Migrate bounce DMA to common framework.
Tue, Feb 3, 4:27 PM · PowerPC

Sat, Jan 24

tpearson_raptorengineering.com added a comment to D15818: Add a delayed VT attachment for ofwfb.
In D15818#1253535, @fuz wrote:

I have tested this patch in an adapted form on ppc64le FreeBSD 15.0 and it crashes early on boot. This is a Raptor Blackbird. @tpearson_raptorengineering.com, any idea?

Since we don't provide Open Firmware interfaces on PowerNV systems, that makes some sense. What we do provide (at least for certain video controllers) is a linear framebuffer available at the address listed in the device tree.

ofwfb isn't Open Firmware-specific, it just depends on the device tree providing the necessary properties, but those properties appear to no longer be provided, and even when launched from the local VGA interface, the "linux,stdout-path" still points to the serial console.

Sat, Jan 24, 1:16 AM

Fri, Jan 23

tpearson_raptorengineering.com added a comment to D15818: Add a delayed VT attachment for ofwfb.
In D15818#1253535, @fuz wrote:

I have tested this patch in an adapted form on ppc64le FreeBSD 15.0 and it crashes early on boot. This is a Raptor Blackbird. @tpearson_raptorengineering.com, any idea?

Fri, Jan 23, 5:02 PM
tpearson_raptorengineering.com added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

ok, now that i have power8 hardware up and running, what should i be on the lookout for?
Just the same devinfo/dmesg resource assignment, devices found, etc?

Fri, Jan 23, 4:59 PM · PowerPC

Fri, Jan 16

tpearson_raptorengineering.com requested review of D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.
Fri, Jan 16, 5:53 PM · PowerPC

Dec 15 2025

tpearson_raptorengineering.com added a comment to D54221: Revert "Additional icache paranoia: non-PLT relocations can modify the text segment.".

I'm leaning toward @jrtc27's side of things here, but I would like to know more about the issues that were seen that prompted adding this code in the first place. Worst case is that the code being reverted "fixed" the original issue by simply modifying timing / avoiding a race condition, especially given that a.) we tend to have a lot more cores than the other two weak memory ordering architectures and b.) they don't have this kind of flushing behavior yet apparently function normally.

Dec 15 2025, 4:23 PM

Dec 3 2025

tpearson_raptorengineering.com closed D54042: new committer (src): Timothy Pearson (tpearson).

Merged as 201af1a14

Dec 3 2025, 3:10 PM
tpearson_raptorengineering.com committed rG812bcb7cabbb: mailmap: add my Raptor Engineering address (authored by tpearson_raptorengineering.com).
mailmap: add my Raptor Engineering address
Dec 3 2025, 2:59 PM
tpearson_raptorengineering.com committed rG84fd37f30958: committers-src: add myself (tpearson@) (authored by tpearson_raptorengineering.com).
committers-src: add myself (tpearson@)
Dec 3 2025, 2:59 PM
tpearson_raptorengineering.com committed R9:201af1a14ade: new committer (src): Timothy Pearson (tpearson) (authored by tpearson_raptorengineering.com).
new committer (src): Timothy Pearson (tpearson)
Dec 3 2025, 2:52 PM
tpearson_raptorengineering.com requested review of D54042: new committer (src): Timothy Pearson (tpearson).
Dec 3 2025, 2:34 AM

Nov 19 2025

tpearson_raptorengineering.com accepted D53801: rtld-elf and libsys: remove old forward-compat code for powerpc auxv renumbering.
Nov 19 2025, 3:08 PM
tpearson_raptorengineering.com added a comment to D53801: rtld-elf and libsys: remove old forward-compat code for powerpc auxv renumbering.

One note from a ports maintainer perspective: rust currently uses FreeBSD 11 syscalls. Although those are new binaries, they need COMPAT_FREEBSD11, even for powerpc64le (which was introduced in 13.0). There is long-going plan to bump that to 12, but even then we'll still need COMPAT_FREEBSD12.
Another thing: dropping support for running old binaries (as in compiled long ago) is not an issue for me (and probably most users), but then ELFv1 support should probably also be dropped. We switched to ELFv2 in 13.0.

Nov 19 2025, 3:06 PM
tpearson_raptorengineering.com added a comment to D53801: rtld-elf and libsys: remove old forward-compat code for powerpc auxv renumbering.
In D53801#1229342, @kib wrote:

After thinking about this code some more, I realized that it probably should be removed altogether. Basically, it is there to allow to run newer binaries (rtld/libsys) on older (pre-AT_ renumbering) kernels. This was done in ~2019, and arguably outlived even the limited usefulness it had at the time of the commit.

I'm not sure this analysis is entirely correct. __elfN(powerpc_copyout_auxargs) will use the old numbering if the binary is old (but not so old it doesn't have an OSREL embedded). What I'm not sure about is if this will happen with a new rtld and old binary or just with an old static binary.

That being said I'd like both bits to go away if possible. @tpearson_raptorengineering.com how important to you think old binary support is to the powerpc64 community?

Nov 19 2025, 3:04 PM
tpearson_raptorengineering.com requested changes to D53801: rtld-elf and libsys: remove old forward-compat code for powerpc auxv renumbering.

On second read through, caught a couple of code issues that don't affect functionality. Once those are fixed this looks good.

Nov 19 2025, 4:18 AM
tpearson_raptorengineering.com accepted D53801: rtld-elf and libsys: remove old forward-compat code for powerpc auxv renumbering.

Looks good to me on a POWER9 Blackbird / powerpc64le.

Nov 19 2025, 4:13 AM

Sep 11 2025

tpearson_raptorengineering.com added a comment to D52400: Enable soft crypto device support when testing soft crypto devices.

I just went ahead and uploaded an extended diff, I hope that's ok: https://reviews.freebsd.org/D52490

Sep 11 2025, 4:38 PM

Sep 10 2025

tpearson_raptorengineering.com updated the diff for D52400: Enable soft crypto device support when testing soft crypto devices.

Added aesni and armv8crypto alongside ossl

Sep 10 2025, 4:56 PM
tpearson_raptorengineering.com added inline comments to D44274: ossl: Add GCM support on powerpc64/powerpc64le (POWER8+).
Sep 10 2025, 4:51 PM
tpearson_raptorengineering.com added inline comments to D44274: ossl: Add GCM support on powerpc64/powerpc64le (POWER8+).
Sep 10 2025, 4:39 PM

Sep 5 2025

tpearson_raptorengineering.com added a comment to D44274: ossl: Add GCM support on powerpc64/powerpc64le (POWER8+).

@shawn_anastas.io
FYI, OpenSSL 3.5 has been merged, so you should probably rebase this review. I hope it can finally be pushed before stable/15.

Sep 5 2025, 6:16 PM
tpearson_raptorengineering.com updated the summary of D52400: Enable soft crypto device support when testing soft crypto devices.
Sep 5 2025, 6:13 PM
tpearson_raptorengineering.com requested review of D52400: Enable soft crypto device support when testing soft crypto devices.
Sep 5 2025, 6:11 PM
tpearson_raptorengineering.com updated the diff for D44274: ossl: Add GCM support on powerpc64/powerpc64le (POWER8+).

Rebase for 15.0

Sep 5 2025, 4:01 PM
tpearson_raptorengineering.com commandeered D44274: ossl: Add GCM support on powerpc64/powerpc64le (POWER8+) from sanastasio_raptorengineering.com.
Sep 5 2025, 4:00 PM

Jun 29 2025

tpearson_raptorengineering.com added a comment to D44274: ossl: Add GCM support on powerpc64/powerpc64le (POWER8+).

@jhibbits I'm wondering the same thing. On my side this seems good, any chance we can get it merged? Raptor is still carrying this as a downstream patch in its OPNsense builds. Thanks!

Jun 29 2025, 4:52 PM