From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-Path: Date: Tue, 17 Jul 2018 14:46:03 -0700 From: Matthew Wilcox To: Bjorn Helgaas Cc: Martin Mares , Logan Gunthorpe , linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-doc@vger.kernel.org, Stephen Bates , Christoph Hellwig , Bjorn Helgaas , Jonathan Corbet , Ingo Molnar , Thomas Gleixner , "Paul E. McKenney" , Marc Zyngier , Kai-Heng Feng , Frederic Weisbecker , Dan Williams , =?iso-8859-1?B?Suly9G1l?= Glisse , Benjamin Herrenschmidt , Alex Williamson , Christian =?iso-8859-1?Q?K=F6nig?= Subject: Re: lspci: Display path to device Message-ID: <20180717214603.GB1771@bombadil.infradead.org> References: <20180717170204.30470-1-logang@deltatee.com> <20180717203900.GA1771@bombadil.infradead.org> <20180717210053.GB128988@bhelgaas-glaptop.roam.corp.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <20180717210053.GB128988@bhelgaas-glaptop.roam.corp.google.com> List-ID: On Tue, Jul 17, 2018 at 04:00:53PM -0500, Bjorn Helgaas wrote: > On Tue, Jul 17, 2018 at 01:39:00PM -0700, Matthew Wilcox wrote: > > The Nehalem system makes an interesting testcase because it exposes some > > registers in fake PCIe devices that aren't behind the root ports. eg: > > > > ff:06.3 Host bridge: Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Thermal Control Registers (rev 04) > > I think these appear as conventional PCI devices; at least the ones > I've seen, e.g., [1], don't have a PCIe capability, so I think it > makes sense that they're not behind a root port. > > [1] https://bugzilla5.redhat.com/attachment.cgi?id=433169 Oh, I don't think we're doing anything wrong with how we're displaying them or what we're doing with what the system presents to us. My only point was that this is a good test-case for code which assumes that all PCI devices lie under a PCIe root port. At one point during development, my code reported that device up there as /06.3 Host bridge: Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Thermal Control Registers (rev 04) but since I had that system available to test with, I spotted that problem and made it present that device as ff:06.3 (both with and without -P).