DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Aaron Conole <aconole@redhat.com>
Cc: dev@dpdk.org, Michael Santana <msantana@redhat.com>,
	David Marchand <dmarchan@redhat.com>,
	Ferruh Yigit <ferruh.yigit@intel.com>,
	Luca Boccassi <bluca@debian.org>
Subject: Re: [dpdk-dev] [PATCH 1/2] tests: Fix unit tests for shared builds
Date: Thu, 1 Aug 2019 17:51:07 +0100	[thread overview]
Message-ID: <20190801165107.GB1716@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <f7tsgqkdhce.fsf@dhcp-25.97.bos.redhat.com>

On Thu, Aug 01, 2019 at 11:40:33AM -0400, Aaron Conole wrote:
> Bruce Richardson <bruce.richardson@intel.com> writes:
> 
> > On Wed, Jul 31, 2019 at 12:10:55PM -0400, Aaron Conole wrote:
> >> Aaron Conole <aconole@redhat.com> writes:
> >> 
> >> > Bruce Richardson <bruce.richardson@intel.com> writes:
> >> >
> >> >> On Wed, Jul 31, 2019 at 10:50:29AM -0400, Aaron Conole wrote:
> >> >>> From: Michael Santana <msantana@redhat.com>
> >> >>> 
> >> >>> Currently many unit tests fail when running tests under shared builds.
> >> >>> This happens because of missing driver dependencies. This is fixed by
> >> >>> explicitly linking in missing drivers for the test application.
> >> >>> 
> >> >>> before and after (clang):
> >> >>> https://travis-ci.com/Maickii/dpdk-2/jobs/212329160#L623
> >> >>> https://travis-ci.com/Maickii/dpdk-2/jobs/212335912#L620
> >> >>> 
> >> >>> Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
> >> >>> Suggested-by: David Marchand <david.marchand@redhat.com>
> >> >>> Signed-off-by: Michael Santana <msantana@redhat.com>
> >> >>> Signed-off-by: Aaron Conole <aconole@redhat.com>
> >> >>> ---
> >> >> Rather than linking in the libraries explicitly, can you have the build do
> >> >> a "ninja install" at the end to place the libraries and drivers in their
> >> >> correct paths. That should mean that the test app (via eal) auto-loads all
> >> >> drivers from EAL_PMD_PATH (/usr/local/...). It would save having to make
> >> >> further changes to this file to link in any additional drivers.
> >> 
> >> Oops, forgot to include a link to a build where I did this.  It's
> >> failing (you can see the corresponding commit at
> >> https://github.com/orgcandman/dpdk/commit/ccba975bdfe851b4c8ec3f208451bb105317b76d):
> >> 
> >>   https://travis-ci.org/orgcandman/dpdk/jobs/566044409
> >> 
> > I think the error may be due to having some drivers already linked in while
> > trying to reload all drivers dynamically. The dynamic loading of drivers I
> > actually think we could make more robust. For example:
> >
> > * only load .so files. If you pass in the drivers path from the build, it
> >   errors out trying to load .a files
> > * when loading directories, maybe skip any files which don't have a "librte"
> >   prefix - anyone who has their own drivers they want loaded can add the
> >   prefix or load it explicitly via -d
> > * alternatively, skip files which don't have a pmdinfo section in them
> > * allow skipping of drivers which are already linked in
> > * don't fail the whole process if one driver fails to load from a
> >   directory.
> 
> What change do you suggest I make to the steps I outlined?  I think it
> seems to be more complex than a simple 'ninja install'.
> 
> Maybe it makes sense to merge these patches now and fix the library
> loading code as a separate action?  Or is there a different procedure I
> (and other developers) should follow?  Does it really need a 'ninja
> install' even for a drive-by developer to make a small patch and test
> before submitting?
> 
I think your patch is the best solution for 19.08. Fixing the library
loading for developers is a larger job beyond that. 

Another item for future consideration: since meson/ninja automatically sets
the rpath for binaries in build directory - and then strips that out on
install - it would be really nice if we could leverage that somehow for
finding drivers.

/Bruce

  reply	other threads:[~2019-08-01 16:51 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-31 14:50 [dpdk-dev] [PATCH 0/2] Enable fast-unit tests under travis Aaron Conole
2019-07-31 14:50 ` [dpdk-dev] [PATCH 1/2] tests: Fix unit tests for shared builds Aaron Conole
2019-07-31 15:36   ` Bruce Richardson
2019-07-31 16:07     ` Aaron Conole
2019-07-31 16:10       ` Aaron Conole
2019-08-01  9:19         ` Bruce Richardson
2019-08-01 15:40           ` Aaron Conole
2019-08-01 16:51             ` Bruce Richardson [this message]
2019-08-01 16:52   ` Bruce Richardson
2019-08-02 20:32   ` Thomas Monjalon
2019-08-02 20:43     ` Aaron Conole
2019-07-31 14:50 ` [dpdk-dev] [PATCH 2/2] ci: enable unit tests under travis-ci Aaron Conole
2019-07-31 20:54   ` Michael Santana Francisco
2019-08-02 13:34     ` Aaron Conole
2019-08-02 13:40       ` Michael Santana Francisco
2019-08-02 20:27     ` Thomas Monjalon
2019-08-02 20:59       ` Aaron Conole
2019-08-02 21:05         ` Thomas Monjalon
2019-08-02 21:07           ` Aaron Conole
2019-08-02 14:18 ` [dpdk-dev] [PATCH 0/2] Enable fast-unit tests under travis David Marchand
2019-08-02 21:25 ` [dpdk-dev] [PATCH v2 " Aaron Conole
2019-08-02 21:25   ` [dpdk-dev] [PATCH v2 1/2] tests: Fix unit tests for shared builds Aaron Conole
2019-08-02 21:51     ` Thomas Monjalon
2019-08-02 21:25   ` [dpdk-dev] [PATCH v2 2/2] ci: enable unit tests under travis-ci Aaron Conole
2019-08-02 22:00   ` [dpdk-dev] [PATCH v2 0/2] Enable fast-unit tests under travis Thomas Monjalon
2019-08-05  6:26     ` David Marchand
2019-08-05 12:52       ` David Marchand
2019-08-05 13:56         ` Michael Santana Francisco
2019-08-05 14:18           ` Aaron Conole
2019-08-05 14:21             ` Thomas Monjalon
2019-08-07 14:06       ` Michael Santana Francisco

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=20190801165107.GB1716@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=aconole@redhat.com \
    --cc=bluca@debian.org \
    --cc=dev@dpdk.org \
    --cc=dmarchan@redhat.com \
    --cc=ferruh.yigit@intel.com \
    --cc=msantana@redhat.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).