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, 24 Feb 2016 09:18:44 -0500 Message-ID: <20160224141844.GB7966@hmsreliant.think-freely.org> References: <1452430254-30390-1-git-send-email-david.marchand@6wind.com> <20160120154000.GA13410@hmsreliant.think-freely.org> <20160224113719.GA10520@bricha3-MOBL3> <24283387.cvDMb4MfJx@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: dev@dpdk.org To: Thomas Monjalon Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 3BF102BBD for ; Wed, 24 Feb 2016 15:18:47 +0100 (CET) Content-Disposition: inline In-Reply-To: <24283387.cvDMb4MfJx@xps13> 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 Wed, Feb 24, 2016 at 12:50:40PM +0100, Thomas Monjalon wrote: > 2016-02-24 11:37, Bruce Richardson: > > On Wed, Jan 20, 2016 at 10:40:00AM -0500, Neil Horman wrote: > > > 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 wro= te: > > > > > > 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 w= rote: > > > > > > > > 2016-01-18 13:30, David Marchand: > > > > > > > > > We could do something =E0 la modinfo, but let's keep it= simple 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_fm1= 0k.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 PCI device list. > > > > > > > > It is better to define the device ids locally to their dr= ivers but it must > > > > > > > > be integrated with an appropriate parsing tool at the sam= e time. > > > > > > > > And more importantly than any tool, the format of these E= LF data 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 op= inion? > > > > > > > > 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 distribu= tion packaging. > > > > > > > > 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 thou= ght David M was > > > > > > > interested in writing it and soliciting for ideas. If that= s no longer 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 po= int > > > > > > to dump PCI id's.=20 > > > > > >=20 > > > > > Sure, you could write a method that could be dlsym-ed easily en= ough to fetch an > > > > > array of pci ids, or just print stuff the console. Not sure th= ats the best way, > > > > > but definately an option > > > > > Neil > > > >=20 > > > > It is just that reading data with objdump is a kludge likely to g= et broken. > > > >=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 v= ia libelf. > > > Using a function to return the information has implicit issues at t= he moment > > > (specifically if you dlopen a dpdk driver, its constructor will att= empt to > > > register it with the core libraries). While thats not catastrophic= , it means > > > more stuff than you expect gets loaded, which might have wierd side= effects. > > > Adding a separate section that you could reach via libelf would be = nice I think > > >=20 > > > Neil > > >=20 > > Hi, > >=20 > > while there is interesting discussion on tools, are there any objecti= ons to > > taking and merging this patchset as-is to at least do the cleanup of = the > > existing pci ids list? I would assume that any tools for querying the= patchlist > > can be done as additional work once this is applied.=20 >=20 > Today we can parse the global PCI list to bind devices to DPDK. > If we remove this list, we must replace it by another convenient method= . > And more importantly, the informations in the ELF files must be extendi= ble > and in a stable syntax. > The problem here is that it is poorly specified. > Please let's describe a syntax for these ELF data, first. Agreed, I'd be fine with taking the patch if it didn't preclude admins fr= om being able to identify which drivers match which devices without loading = the modules first. Neil