Page MenuHomeFreeBSD

PPC64: use hwref instead of cpuid
ClosedPublic

Authored by wma on Jan 22 2018, 6:53 AM.
Tags
None
Referenced Files
F175281312: D14011.id38299.diff
Fri, Oct 9, 4:16 PM
F175281244: D14011.id38613.diff
Fri, Oct 9, 4:16 PM
Unknown Object (File)
Thu, Sep 24, 10:17 AM
Unknown Object (File)
Thu, Sep 24, 3:48 AM
Unknown Object (File)
Wed, Sep 23, 10:54 PM
Unknown Object (File)
Sun, Sep 20, 7:52 AM
Unknown Object (File)
Sep 1 2026, 8:41 AM
Unknown Object (File)
Aug 25 2026, 4:28 AM
Subscribers

Details

Summary

On CHRP and PowerNV, use the interrupt server number in the cpuref and pcpu
hwref field instead of the device-tree phandle and make the CPU IDs reported
to the scheduler dense and with the BSP at 0.

WARNING: tested on PowerNV. Does work only when BSP is CPU[0]. TBD if wokrs on other ppc64 boards.

Diff Detail

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

Event Timeline

I like the approach. Why doesn't it work if BSP is non-zero? Doesn't this code arrange for the BSP to always be zero?

It SHOULD work on PowerNV as the code for cpuid swap is there, however I did not run much of testing, so I'd rather consider this as experimental/not-working. The CHRP platform has no such code, so there the BSP must be at CPU0.

This revision was not accepted when it landed; it landed in state Needs Review.Jan 29 2018, 9:15 AM
This revision was automatically updated to reflect the committed changes.

There is intrinsically no difference between CHRP and PowerNV. Could you please update CHRP to match, including the BSP 0 code, (copy-and-paste is fine) and test it on your POWER8 system? I don't have access to any POWER8 hardware and the moment and the risk of breaking Power[K]VM is high.