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)
Jan 9 2024, 2:05 PM
Unknown Object (File)
Dec 22 2023, 10:28 PM
Unknown Object (File)
Dec 11 2023, 1:43 AM
Unknown Object (File)
Oct 29 2023, 9:18 PM
Unknown Object (File)
Oct 27 2023, 9:53 PM
Unknown Object (File)
Aug 22 2023, 7:56 PM
Unknown Object (File)
Jul 12 2023, 5:16 PM
Unknown Object (File)
Jul 3 2023, 1:35 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.