DPDK patches and discussions
 help / color / mirror / Atom feed
From: Matthew Hall <mhall@mhcomputing.net>
To: dev@dpdk.org
Subject: Re: [dpdk-dev] virtio UIO / PMD issues in default Ubuntu Cloud Images
Date: Mon, 13 Oct 2014 23:43:07 -0700	[thread overview]
Message-ID: <20141014064306.GA17287@mhcomputing.net> (raw)
In-Reply-To: <20141014060353.GA17053@mhcomputing.net>

On Mon, Oct 13, 2014 at 11:03:53PM -0700, Matthew Hall wrote:
> Another problem regarding virtio-net-pmd. When I tried using virtio-net-pmd, 
> it compiles fine but then hits a weird error also during EAL init process:
> 
> EAL: open shared lib /vagrant/external/virtio-net-pmd/librte_pmd_virtio.so
> EAL: /vagrant/external/virtio-net-pmd/librte_pmd_virtio.so: undefined symbol: per_lcore__lcore_id
> 
> It doesn't seem to have a link dependency against any DPDK library that might 
> contain such a symbol, either:
> 
> $ ldd librte_pmd_virtio.so
>     linux-vdso.so.1 =>  (0x00007fffd61fc000)
>     libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa2d971f000)
>     /lib64/ld-linux-x86-64.so.2 (0x00007fa2d9d00000)
> 
> $ nm librte_pmd_virtio.so | fgrep -i lcore
>                  U per_lcore__lcore_id
> 00000000000014ee t rte_lcore_id
> 
> man nm says this means: "U" The symbol is undefined.
> 
> At present I am using the common setup, static DPDK w/ COMBINE_LIBS. The 
> directions don't state that a shared lib DPDK is required, and if it is 
> required, that increases complexity and reduces performance so it'd be better 
> not to be forced to require this unless there's a good reason.

The PMD seems to load if DPDK is build w/ shared libraries:

EAL: open shared lib /vagrant/external/virtio-net-pmd/librte_pmd_virtio.so
librte_pmd_virtio version 1.2
    Copyright 2013-2014 6WIND S.A. provided without warranty.

However the documentation doesn't state that this is required... and requiring 
it is very irritating for developers. So I really hope we could just 
incorporate this PMD into the DPDK itself or fix whatever bugs make it not 
work with a static DPDK, or perhaps allow it to be build as a static lib and 
linked into one's app during compile so there's no need to load it as a 
plugin.

At minimum the documentation should clearly state the precise steps needed to 
get this to work so it doesn't just blow up on the user with very weird series 
of errors as seen above.

Matthew.

      parent reply	other threads:[~2014-10-14  6:36 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-14  5:45 Matthew Hall
2014-10-14  6:03 ` Matthew Hall
2014-10-14  6:34   ` Matthew Hall
2014-10-14  8:22     ` Gonzalez Monroy, Sergio
2014-10-14  8:34       ` Matthew Hall
2014-10-14 12:16         ` Gonzalez Monroy, Sergio
2014-10-17  8:56           ` Matthew Hall
2014-10-21 13:22             ` Gonzalez Monroy, Sergio
2014-10-22  7:17               ` Matthew Hall
2014-10-22 15:20                 ` Gonzalez Monroy, Sergio
2014-10-22 18:41                   ` Matthew Hall
2014-10-23 16:15                     ` Gonzalez Monroy, Sergio
2014-10-14  6:43   ` Matthew Hall [this message]

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=20141014064306.GA17287@mhcomputing.net \
    --to=mhall@mhcomputing.net \
    --cc=dev@dpdk.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 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).