From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v2 10/10] pci: place all uio pci device ids in a dedicated section Date: Wed, 24 Feb 2016 12:50:40 +0100 Message-ID: <24283387.cvDMb4MfJx@xps13> References: <1452430254-30390-1-git-send-email-david.marchand@6wind.com> <20160120154000.GA13410@hmsreliant.think-freely.org> <20160224113719.GA10520@bricha3-MOBL3> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: Neil Horman To: dev@dpdk.org Return-path: Received: from mail-wm0-f54.google.com (mail-wm0-f54.google.com [74.125.82.54]) by dpdk.org (Postfix) with ESMTP id B66A72BB9 for ; Wed, 24 Feb 2016 12:52:14 +0100 (CET) Received: by mail-wm0-f54.google.com with SMTP id c200so265555466wme.0 for ; Wed, 24 Feb 2016 03:52:14 -0800 (PST) In-Reply-To: <20160224113719.GA10520@bricha3-MOBL3> 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" 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: > > > > > > > =09http://dpdk.org/ml/archives/dev/2015-January/012115.ht= ml > > > > > > > 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 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.