perf/x86/intel/uncore

From: Song Liu
Date: Fri Jan 25 2019 - 13:55:07 EST


Hi,

We are debugging an issue that skx_pci_uncores cannot be registered on
8-socket system with Xeon Platinum 8176 CPUs. After poking around for a
while, I found it is caused by snbep_pci2phy_map_init() couldn't find
a unbox_dev:

ubox_dev = pci_get_device(PCI_VENDOR_ID_INTEL, devid, ubox_dev);
unbox_dev == NULL
...

The same kernel (Linus' master) works fine on some single socket SKX
systems.

I am not sure what to check next. And I am not sure whether this is
specific to this system (HPE Superdome Flex).

One thing I noticed is that the PCI configuration space shows
subsystem vendor ID of 0x1590 instead of 0x8086:

0000:00:08.0 System peripheral: Intel Corporation Sky Lake-E Ubox Registers (rev 04)
00: 86 80 14 20 00 00 10 00 04 00 80 08 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 90 15 14 20 << subsystem vendor

30: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00

But I don't think that is the problem as the code search with PCI_ANY_ID.


Any suggestions on what might be broken? And what to try next?

Thanks in advance!
Song