From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Horman Subject: Re: [PATCH v2 10/10] pci: place all uio pci device ids in a dedicated section Date: Wed, 20 Jan 2016 10:40:00 -0500 Message-ID: <20160120154000.GA13410@hmsreliant.think-freely.org> References: <1452430254-30390-1-git-send-email-david.marchand@6wind.com> <1453120248-28274-1-git-send-email-david.marchand@6wind.com> <1453120248-28274-11-git-send-email-david.marchand@6wind.com> <3759018.lgeOm8Q2D2@xps13> <20160119142930.GA25388@hmsreliant.think-freely.org> <20160119081019.607a9b48@xeon-e3> <20160119205614.GA24277@hmsreliant.think-freely.org> <20160119133514.03cf193f@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: dev@dpdk.org, Neil Horman To: Stephen Hemminger Return-path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 81FD98DAF for ; Wed, 20 Jan 2016 16:40:15 +0100 (CET) Content-Disposition: inline In-Reply-To: <20160119133514.03cf193f@xeon-e3> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, Jan 19, 2016 at 01:35:14PM -0800, Stephen Hemminger wrote: > On Tue, 19 Jan 2016 15:56:14 -0500 > Neil Horman wrote: >=20 > > On Tue, Jan 19, 2016 at 08:10:19AM -0800, Stephen Hemminger wrote: > > > On Tue, 19 Jan 2016 09:29:31 -0500 > > > Neil Horman wrote: > > >=20 > > > > On Tue, Jan 19, 2016 at 08:30:40AM +0100, Thomas Monjalon wrote: > > > > > 2016-01-18 13:30, David Marchand: > > > > > > We could do something =E0 la modinfo, but let's keep it simpl= e for now. > > > > > >=20 > > > > > > With this, you can extract the devices that need to be bound = to uio / vfio > > > > > > with tools like objdump : > > > > > >=20 > > > > > > $ objdump -j rte_pci_id_uio -s build/lib/librte_pmd_fm10k.so > > > > > >=20 > > > > > > Contents of section rte_pci_id_uio: > > > > > > 15760 8680a415 ffffffff 8680d015 ffffffff ................ > > > > > > 15770 8680a515 ffffffff 00000000 00000000 ................ > > > > >=20 > > > > > Yes we need a modinfo-like tool. > > > > > Currently, the UIO/VFIO binding can be done after parsing the P= CI device list. > > > > > It is better to define the device ids locally to their drivers = but it must > > > > > be integrated with an appropriate parsing tool at the same time= . > > > > > And more importantly than any tool, the format of these ELF dat= a must be > > > > > properly defined, documented and extensible. > > > > >=20 > > > > > Is there someone experimented with such format definition? > > > > > Stephen, you were asking for this change, what is your opinion? > > > > > I remember that Neil was also interested in this change: > > > > > http://dpdk.org/ml/archives/dev/2015-January/012115.html > > > > > Panu, Christian, this change could be related to distribution p= ackaging. > > > > > Thanks for helping to move this change forward. > > > >=20 > > > > Yes, I would be interested in seeing this. Is the ask here that = someone do it? > > > > As I recall from the last thread that you reference, I thought Da= vid M was > > > > interested in writing it and soliciting for ideas. If thats no l= onger the case, > > > > I can take a stab at writing it. > > > >=20 > > > > Neil > > > >=20 > > >=20 > > > If these are libraries is there a way to have a real entry point > > > to dump PCI id's.=20 > > >=20 > > Sure, you could write a method that could be dlsym-ed easily enough t= o fetch an > > array of pci ids, or just print stuff the console. Not sure thats th= e best way, > > but definately an option > > Neil >=20 > It is just that reading data with objdump is a kludge likely to get bro= ken. >=20 Not suggesting that we rely on objdump in perpituity, only that we export= the data, rather than a method to access it so that it can be reached via lib= elf. Using a function to return the information has implicit issues at the mom= ent (specifically if you dlopen a dpdk driver, its constructor will attempt t= o register it with the core libraries). While thats not catastrophic, it m= eans more stuff than you expect gets loaded, which might have wierd side effec= ts. Adding a separate section that you could reach via libelf would be nice I= think Neil