All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: Bruce Richardson <bruce.richardson@intel.com>, dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] pci: fix missing pci bus with shared library build
Date: Tue, 23 Jul 2019 20:35:25 +0200	[thread overview]
Message-ID: <16659921.iprpBmmhMi@xps> (raw)
In-Reply-To: <20190723112922.52dcb9a9@hermes.lan>

23/07/2019 20:29, Stephen Hemminger:
> On Tue, 23 Jul 2019 09:59:04 +0200
> Thomas Monjalon <thomas@monjalon.net> wrote:
> 
> > 22/07/2019 20:34, Stephen Hemminger:
> > > On Mon, 22 Jul 2019 19:31:08 +0200
> > > Thomas Monjalon <thomas@monjalon.net> wrote:
> > >   
> > > > 22/07/2019 19:13, Stephen Hemminger:  
> > > > > Thomas Monjalon <thomas@monjalon.net> wrote:    
> > > > > > Are the constructors run on dlopen of the bus driver?    
> > > > > 
> > > > > Yes, constructors are run on dlopen.
> > > > > But application should not have to ask DPDK to dlopen the bus devices.
> > > > > 
> > > > > The core principle is that dynamic build of DPDK should act the same as old
> > > > > statically linked DPDK. Otherwise, the user experience is even worse, and all
> > > > > the example documentation is wrong.    
> > > > 
> > > > OK, this is where I wanted to bring the discussion.
> > > > You are arguing against a design which is in DPDK from some early days.
> > > > So this is an interesting discussion to have.
> > > > Do we want to change the "plugin model" we have?
> > > > Or do we want to simply drop this model (dlopen calls)
> > > > and replace it with strong dynamic linking?  
> > > 
> > > I argue that examples should work the same with dynamic linking.
> > > This used to work before the break out of the bus model, so it is a bug.  
> > 
> > The PCI support was part of EAL, yes, but the device drivers
> > were plugins and already required the -d option.
> > 
> > > For distributions, this also matters. Linking with -ldpdk which is a linker
> > > script should work.  
> > 
> > There is no longer this linker script with meson.
> 
> Ok, for usability that is a problem.
> Requiring user to figure out which DPDK libraries to link with is a serious
> waste of time. It should be possible to just link with -ldpdk and
> distribution packages and just get the necessary libraries for the application
> (no extra rte_foo_bar .so loaded at run time), and the application should
> just work.
> 
> The idea that the user should link with 20 shared libraries, in the right
> order and pass -d flags to eal_init to load the right PMD is user hostile.
> It only makes sense if you want to invent yet another layer to manage the
> ugly stuff hidden underneath. Think virt-manager versus raw KVM/QEMU.
> 
> I know it is hard, and I know not all this will make it into 19.08
> but let's try and do better. The DPDK already has a reputation as being
> like a super car, (ie unreliable and hard to drive). It doesn't have to be that way.

About the build-time link, it is already improved thanks
to the pkgconfig file generated by meson.
The only issue I understand is the runtime need for -d,
which is a feature, and could be removed.



  reply	other threads:[~2019-07-23 18:35 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-15 23:41 [dpdk-dev] [PATCH] pci: fix missing pci bus with shared library build Stephen Hemminger
2019-07-16  0:16 ` Stephen Hemminger
2019-07-16  0:19 ` Stephen Hemminger
2019-07-16  8:46   ` Bruce Richardson
2019-07-16 14:46     ` Stephen Hemminger
2019-07-19 18:11     ` Stephen Hemminger
2019-07-19 20:39     ` Stephen Hemminger
2019-07-19 20:55     ` Stephen Hemminger
2019-07-22  7:38       ` Thomas Monjalon
2019-07-22  9:06         ` Bruce Richardson
2019-07-22 16:43           ` Stephen Hemminger
2019-07-22 17:04             ` Thomas Monjalon
2019-07-22 17:13               ` Stephen Hemminger
2019-07-22 17:31                 ` Thomas Monjalon
2019-07-22 18:34                   ` Stephen Hemminger
2019-07-23  7:59                     ` Thomas Monjalon
2019-07-23 18:29                       ` Stephen Hemminger
2019-07-23 18:35                         ` Thomas Monjalon [this message]
2019-07-22 18:53                   ` Stephen Hemminger
2019-07-23 12:30                     ` Bruce Richardson
2019-07-23 18:11                       ` Stephen Hemminger
2019-07-24  8:56                         ` Bruce Richardson
2019-07-23 18:47                       ` Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=16659921.iprpBmmhMi@xps \
    --to=thomas@monjalon.net \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=stephen@networkplumber.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.