Page MenuHomeFreeBSD

[PPC64] Fix NUMA on POWER8
ClosedPublic

Authored by luporl on Jan 29 2020, 4:16 PM.
Referenced Files
F82753257: D23414.id67458.diff
Thu, May 2, 8:00 AM
F82748546: D23414.id67462.diff
Thu, May 2, 7:13 AM
F82720717: D23414.id67465.diff
Wed, May 1, 11:52 PM
F82720716: D23414.id.diff
Wed, May 1, 11:52 PM
F82720705: D23414.id67467.diff
Wed, May 1, 11:52 PM
F82710269: D23414.diff
Wed, May 1, 9:47 PM
Unknown Object (File)
Sun, Apr 21, 11:30 PM
Unknown Object (File)
Sun, Apr 21, 11:30 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.