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.
Details
Details
WARNING: tested on PowerNV. Does work only when BSP is CPU[0]. TBD if wokrs on other ppc64 boards.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
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?
Comment Actions
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.
Comment Actions
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.