Page MenuHomeFreeBSD

PowerPCUmbrella
ActivePublic

Recent Activity

Yesterday

adrian added a reviewer for D55084: powerpc64/busdma: Migrate bounce DMA to common framework: adrian.
Sun, Feb 8, 7:53 PM · PowerPC
adrian added a comment to D55084: powerpc64/busdma: Migrate bounce DMA to common framework.

oh crap i missed testing this; lemme test this on -HEAD today on the G5 and POWER8.

Sun, Feb 8, 7:50 PM · PowerPC
jhibbits accepted D54936: powerpc64: initial conversion of oea64 to rwlocks.
Sun, Feb 8, 7:06 PM · PowerPC
adrian added inline comments to D54936: powerpc64: initial conversion of oea64 to rwlocks.
Sun, Feb 8, 5:42 AM · PowerPC
adrian updated the summary of D54936: powerpc64: initial conversion of oea64 to rwlocks.
Sun, Feb 8, 5:41 AM · PowerPC
adrian updated the diff for D54936: powerpc64: initial conversion of oea64 to rwlocks.
  • convert the superpage lock path to use the iterator lock
  • and another function involved as well
Sun, Feb 8, 5:41 AM · PowerPC
adrian added inline comments to D54936: powerpc64: initial conversion of oea64 to rwlocks.
Sun, Feb 8, 5:10 AM · PowerPC
adrian updated the diff for D54936: powerpc64: initial conversion of oea64 to rwlocks.

delete old code

Sun, Feb 8, 4:05 AM · PowerPC

Sat, Feb 7

adrian added a comment to D54936: powerpc64: initial conversion of oea64 to rwlocks.

updated; i removed the recursive lock as now we shouldn't be recursing.

Sat, Feb 7, 4:41 AM · PowerPC
adrian updated the diff for D54936: powerpc64: initial conversion of oea64 to rwlocks.

update

Sat, Feb 7, 4:39 AM · PowerPC

Fri, Feb 6

jhibbits added inline comments to D54936: powerpc64: initial conversion of oea64 to rwlocks.
Fri, Feb 6, 2:52 AM · PowerPC
adrian added inline comments to D54936: powerpc64: initial conversion of oea64 to rwlocks.
Fri, Feb 6, 1:50 AM · PowerPC
adrian abandoned D55073: sdt: fix macro to compile on powerpc.

not needed now!

Fri, Feb 6, 1:49 AM · PowerPC

Thu, Feb 5

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
mhorne 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?

I checked; the only function we use from the HPT side of things is moea64_bootstrap_alloc(), therefore this is the only variable that needs to stay in sync. While I can't say I particularly like this brittle architecture, I suspect it's going to be changed so infrequently that it's not worth rewriting everything at this point.

Thu, Feb 5, 4:31 PM · PowerPC
jhibbits accepted D55095: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9).

LGTM. Good find! Approved.

Thu, Feb 5, 2:13 PM · PowerPC
adrian accepted D55095: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9).

looks good, land when you're ready!

Thu, Feb 5, 5:23 AM · PowerPC
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
jhibbits added inline comments to D54936: powerpc64: initial conversion of oea64 to rwlocks.
Wed, Feb 4, 1:59 PM · PowerPC
jhibbits added a comment to D55095: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9).

Interesting, so mmu_radix depends on mmu_oea64 for bootstrap allocations, which in turn depends on its own phys_avail_count. Can you just put the extern declaration in mmu_oea64.h instead of having the extern in mmu_radix.c? mmu_radix.c already includes mmu_oea64.h, so that looks like the best place to put these shared variable declarations.

Wed, Feb 4, 1:56 PM · PowerPC
adrian accepted D55095: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9).

I think this is fine; let's see what justin thinks tomorrow morning!

Wed, Feb 4, 6:23 AM · PowerPC
adrian added a comment to D55095: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9).

oh that's a good catch!

Wed, Feb 4, 6:19 AM · PowerPC
adrian added a reviewer for D55095: powerpc64: Fix disappearing low memory on radix MMU systems (POWER9): PowerPC.
Wed, Feb 4, 6:19 AM · 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
adrian added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

Also /proc/iomem, which i think has what you're after in more specific detail:

Wed, Feb 4, 5:02 AM · PowerPC
adrian added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

here's petitboot:

Wed, Feb 4, 4:57 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
adrian added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

ok, two normal boots and then the boot with this diff attached are at https://people.freebsd.org/~adrian/powerpc64/20260203-D54745-fail-1.txt .

Wed, Feb 4, 12:50 AM · PowerPC
adrian added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

so it didn't finish booting;

Wed, Feb 4, 12:47 AM · PowerPC
adrian added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

ok, its definitely unhappy, stay tuned!

Wed, Feb 4, 12:45 AM · PowerPC
imp accepted D55093: powerpc: document the magic constants for 16MB page size.
Wed, Feb 4, 12:29 AM · PowerPC

Tue, Feb 3

adrian updated the diff for D54936: powerpc64: initial conversion of oea64 to rwlocks.

rebase after jhibbits@ recent changes

Tue, Feb 3, 11:20 PM · PowerPC
adrian added reviewers for D55093: powerpc: document the magic constants for 16MB page size: jhibbits, PowerPC, tpearson_raptorengineering.com.
Tue, Feb 3, 11:16 PM · PowerPC
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
adrian 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?):

ahcich1: is ffffffff cs ffffffff ss ffffffff rs ffffffff tfd ffffffff serr ffffffff cmd ffffffff
(ada0:ahcich1:0:0:0): READ_FPDMA_QUEUED. ACB: 60 40 e8 35 8b 40 24 00 00 00 00 00
(ada0:ahcich1:0:0:0): CAM status: Command timeout
ahcich1: AHCI reset...
(ada0:ahcich1:0:0:0): Retrying command, 3 more tries remain
ahcich1: stopping AHCI engine failed
ahcich1: SATA connect timeout time=100000us status=ffffffff
ahcich1: AHCI reset: device not found
pass0 at ahcich1 bus 0 scbus1 target 0 lun 0
pass0: <Hitachi HDS722020ALA330 JKAOA3MA> s/n JK11A8B9H82U0F detached
ada0 at ahcich1 bus 0 scbus1 target 0 lun 0
ada0: <Hitachi HDS722020ALA330 JKAOA3MA> s/n JK11A8B9H82U0F detached
g_vfs_done(): ada0p2 converting all errors to ENXIO
g_vfs_done():ada0p2[WRITE(offset=212411777024, length=32768)]error = 6 suppressing further ENXIO
panic: UFS: root fs would be forcibly unmounted
Tue, Feb 3, 5:37 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
adrian added inline comments to D54936: powerpc64: initial conversion of oea64 to rwlocks.
Tue, Feb 3, 7:14 AM · PowerPC
adrian added a project to D55073: sdt: fix macro to compile on powerpc: PowerPC.
Tue, Feb 3, 3:57 AM · PowerPC
jhibbits accepted D55071: powerpc: enable HPT superpages by default.

Do It!

Tue, Feb 3, 2:23 AM · PowerPC
adrian added a comment to D54745: powerpc64/powernv: Enable Partitionable Endpoint (PE) support.

(I still haven't forgotten about this diff; I'm going to test it in VMs and on power8 hardware this week.)

Tue, Feb 3, 1:39 AM · PowerPC
adrian added reviewers for D55071: powerpc: enable HPT superpages by default: PowerPC, jhibbits.
Tue, Feb 3, 1:39 AM · PowerPC