From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 292525AAE for ; Mon, 12 Jan 2015 15:50:34 +0100 (CET) Received: from hmsreliant.think-freely.org ([2001:470:8:a08:7aac:c0ff:fec2:933b] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1YAgK3-0000Fe-VD; Mon, 12 Jan 2015 09:50:30 -0500 Date: Mon, 12 Jan 2015 09:50:27 -0500 From: Neil Horman To: Bruce Richardson Message-ID: <20150112145026.GB23467@hmsreliant.think-freely.org> References: <54B2AE86.3050203@cloudius-systems.com> <20150112113025.GC13136@bricha3-MOBL3> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150112113025.GC13136@bricha3-MOBL3> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: "dev@dpdk.org" , Shlomi Livne Subject: Re: [dpdk-dev] What is the best way to distribute a DPDK-based app? X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2015 14:50:34 -0000 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 >