Page MenuHomeFreeBSD

powerpc: Fix the NUMA domain list on powernv
ClosedPublic

Authored by jhibbits on Jan 17 2020, 12:13 AM.
Tags
None
Referenced Files
Unknown Object (File)
Nov 24 2024, 8:17 AM
Unknown Object (File)
Nov 17 2024, 7:59 PM
Unknown Object (File)
Oct 17 2024, 5:54 AM
Unknown Object (File)
Oct 2 2024, 6:22 AM
Unknown Object (File)
Oct 1 2024, 10:22 AM
Unknown Object (File)
Sep 30 2024, 12:58 AM
Unknown Object (File)
Sep 20 2024, 9:05 PM
Unknown Object (File)
Sep 20 2024, 9:44 AM
Subscribers

Details

Summary

Consolidate the NUMA associativity handling into a platform function.
Non-NUMA platforms will just fall back to the default (0). Currently
only implemented for powernv, which uses a lookup table to map the
device tree associativity into a system NUMA domain.

Fixes hangs on powernv after r356534, and corrects a fairly longstanding
bug in powernv's NUMA handling, which ended up using domains 1 and 2 for
devices and memory on power9, while CPUs were bound to domains 0 and 1.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

luporl added inline comments.
sys/powerpc/powernv/platform_powernv.c
154–157 ↗(On Diff #66875)

'platform_associativity' (static) isn't being used anywhere in this file

'refpoints' is not used anywhere in this function.

Empty if block?

Maybe is there some code missing here?

532 ↗(On Diff #66875)

Not sure, but shouldn't we use an index from refpoints here, instead of always 3 in associativity[]?

sys/powerpc/powernv/platform_powernv.c
154–157 ↗(On Diff #66875)

I was trying several things in this. I meant to delete this finally, and revisit it later, but I'll use it instead.

532 ↗(On Diff #66875)

Yes, I was going to just leave it as parity with the existing code, but I'll do single-level NUMA (index 0) for now. We should revisit it again at some point, to handle multi-level NUMA, but I don't think FreeBSD in general supports that yet.

Address @luporl's feedback, improving correctness.

This revision is now accepted and ready to land.Jan 17 2020, 5:03 PM

Looks good to me too. Thanks for putting this together!

This revision was automatically updated to reflect the committed changes.