DPDK patches and discussions
 help / color / mirror / Atom feed
From: Neil Horman <nhorman@tuxdriver.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	Shlomi Livne <shlomi@cloudius-systems.com>
Subject: Re: [dpdk-dev] What is the best way to distribute a DPDK-based app?
Date: Mon, 12 Jan 2015 09:50:27 -0500	[thread overview]
Message-ID: <20150112145026.GB23467@hmsreliant.think-freely.org> (raw)
In-Reply-To: <20150112113025.GC13136@bricha3-MOBL3>

On Mon, Jan 12, 2015 at 11:30:26AM +0000, Bruce Richardson wrote:
> On Sun, Jan 11, 2015 at 07:10:30PM +0200, Vlad Zolotarov wrote:
> > Hi,
> > guys could you share form your experience what is the best way to distribute
> > the DPDK libraries with the DPDK-based app:
> > 
> >  * Is there any significant benefit in compiling the libraries on a
> >    target machine?
> >  * Is there an already existing DPDK-libs packaging: I've noticed there
> >    is some Fedora RPM package with DPDK libs but it's lacking
> >    pmd-driver's libs and they are the main component we are using,
> >    therefore we can't use it.
> > 
> > Thanks in advance,
> > vlad
> > 
> The default in DPDK is to build a statically linked binary, in which case no
> separate distribution of libraries is necessary. This also gives best performance.
> 
That wasn't the question though.  the question was "what is the best way to
distribute dpdk libraries".  The answer is, it depends on a number of factors,
including, but not limited to what distribution your are distributing for and
what your intended audience is.  

As you note, Fedora distributes dpdk 1.7 using DSO's.  We do this because Fedora
strongly tries to avoid shipping static libraries so as to prevent security
issues living on in applications that link to libraries (i.e. a dpdk security
fix will update all applications if they use DSO's.

You've also noted that the Fedora DPDK doesn't include PMD's for several bits of
hardware.  This is done because those PMD's require out of tree kernel modules,
which Fedora prohibits.  So we currently only ship virtual pmd's.  That will
change soon though we hope, when some high speed socket API changes get made to
the kernel.

> If you know ahead of time what the minimum cpu hardware of your target is, it's
> probably worthwhile doing a compile of your app/libs for that minimum hardware,
> especially if you care about getting best performance. If a few percent drop in
> performance is not a big issue, then compiling up for the "default" target is
> the safest path to take.
> For distributing the libs as shared libs, the same logic applies.
> 
> /Bruce
> 

  reply	other threads:[~2015-01-12 14:50 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-11 17:10 Vlad Zolotarov
2015-01-12 11:30 ` Bruce Richardson
2015-01-12 14:50   ` Neil Horman [this message]
2015-01-12 15:17     ` Vlad Zolotarov

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=20150112145026.GB23467@hmsreliant.think-freely.org \
    --to=nhorman@tuxdriver.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=shlomi@cloudius-systems.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).