Page MenuHomeFreeBSD

[PPC64] Fix NUMA on POWER8
ClosedPublic

Authored by luporl on Jan 29 2020, 4:16 PM.
Referenced Files
Unknown Object (File)
Thu, Nov 13, 10:00 PM
Unknown Object (File)
Thu, Nov 13, 3:14 PM
Unknown Object (File)
Thu, Nov 13, 2:30 PM
Unknown Object (File)
Wed, Nov 12, 6:54 PM
Unknown Object (File)
Mon, Nov 10, 3:43 AM
Unknown Object (File)
Tue, Nov 4, 9:35 AM
Unknown Object (File)
Sun, Nov 2, 8:44 PM
Unknown Object (File)
Mon, Oct 27, 10:59 PM

Details

Summary

On some POWER8 machines, 'ibm,associativity' property may have 6
cells, which would overflow the 5 cells buffer being used.
There was also an issue with the "check if node is root" part,
that have been fixed too.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 29021
Build 26991: arc lint + arc unit

Event Timeline

sys/powerpc/powernv/platform_powernv.c
522–533

I would suggest you just move this up, and not bother with the OF_getproplen(), just do

res = OF_getencprop(...)

if (res < 0) {
  ...
}
luporl added inline comments.
sys/powerpc/powernv/platform_powernv.c
522–533

Right, it's better indeed.

sys/powerpc/powernv/platform_powernv.c
523–534

I think this KASSERT() is unnecessary. A violation of this "invariant" is really a broken device tree, not a kernel bug. Maybe "if (res < sizeof(cell_t) * (platform_associativity + 1))" up above instead?

We can limp along with a busted device tree, we don't need to panic.

  • Address review comments
sys/powerpc/powernv/platform_powernv.c
523–534

Right, do you think it's ok now?

This revision is now accepted and ready to land.Jan 29 2020, 5:59 PM
This revision was automatically updated to reflect the committed changes.