[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2f74c906-6d13-ff18-f967-100e82343f2f@linux.intel.com>
Date: Fri, 25 Jan 2019 15:08:21 -0500
From: "Liang, Kan" <kan.liang@...ux.intel.com>
To: Song Liu <songliubraving@...com>,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: perf/x86/intel/uncore
On 1/25/2019 1:54 PM, Song Liu wrote:
> 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).
Could you please share the offset 0xC0 and 0xD4 of the PCI configuration
space for each device which PCI ID is 0x2014?
snbep_pci2phy_map_init() tries to build a mapping from BUS# to Socket ID.
CPUNODEID (0xc0) discloses the Node ID of current BUS.
GIDNIDMAP (0xd4) discloses the mapping between Socket ID and Node ID.
Here is an example from a 4 socket SKX.
BUS CPUNODEID(bit2:0) GIDNIDMAP
0x0 0x0 0x688
0x40 0x1 0x688
0x80 0x2 0x688
0xC0 0x3 0x688
>
> 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.
>
It looks for the device with PCI ID 0x2014.
Thanks,
Kan
Powered by blists - more mailing lists