All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vincent JARDIN <vincent.jardin@6wind.com>
To: "Mcnamara, John" <john.mcnamara@intel.com>,
	Thomas F Herbert <therbert@redhat.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: DPDK User Space: Session onUseability and Ease of Use
Date: Wed, 14 Oct 2015 16:36:27 +0200	[thread overview]
Message-ID: <561E686B.4050902@6wind.com> (raw)
In-Reply-To: <B27915DBBA3421428155699D51E4CFE202380B58@IRSMSX103.ger.corp.intel.com>

Thomas, John,

thanks for your notes.

Enclosed the contents of our chats,

On 13/10/2015 18:36, Mcnamara, John wrote:
> * PMD lite
>
>    - Do we need a lighter PMD model? Perhaps based on the Mellanox
>      model.
>    - Vincent suggested be could remove 90% of the code. I'll leave
>      Vincent explain this one.

benefits of 100% userland drivers:
   - no dependency on getting kernel patch upstreams first
   - it is possible to run on a latest HW even when the Linux host (or 
host OS) does not support the new NIC/boards supported by the DPDK

drawbacks of 100% userland drivers:
   - redundancy of source code (duplication into the kernel and userland)
       => more maintenance
   - DPDK PMDs are in fact outdated while kernel drivers are supporting 
latest HW (port management - optics - , latest HW revisions, managing 
firmware updates) more frequently
   - do not run when not root applications
   - cannot reuse port management tools from the kernels (ethtool, etc.)

ixgbe pmd
=========
    100% lines of userland
    must be run as root
    ~ 40K lines
    ~ kernel overlaps with 
http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/base
    ~ mostly only 
http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_rxtx[_vec].c is 
needed, other files are not needed (6k lines of code)

mlx4 pmd
========
    10% lines userland, then using kernel's ones
    could be run as a non root process
    ~ 5.2K lines of code
    ~ the rxtx.c file is http://dpdk.org/browse/dpdk/tree/drivers/net/mlx4/
    BUT using infiniband :( => should be cleand up to use bare minimum like,
     + /* Allocate protection domain. */
       http://dpdk.org/browse/dpdk/tree/drivers/net/mlx4/mlx4.c#n4828

     + Register memory regions -> ibv_reg_mr()
       http://dpdk.org/browse/dpdk/tree/drivers/net/mlx4/mlx4.c#n792

Best regards,
   Vincent

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

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-08 18:29 DPDK User Space: Session onUseability and Ease of Use Thomas F Herbert
2015-10-13 16:36 ` Mcnamara, John
2015-10-13 20:06   ` Thomas Monjalon
2015-10-14  6:51     ` Dave Neary
2015-10-14 13:16     ` Vincent JARDIN
2015-10-14 10:25   ` Panu Matilainen
2015-10-14 13:21   ` Vincent JARDIN
2015-10-14 14:36   ` Vincent JARDIN [this message]
2015-10-14 16:34     ` Bruce Richardson
2015-10-19 13:55   ` Simon Kågström
  -- strict thread matches above, loose matches on Subject: below --
2015-10-08 16:38 Thomas Herbert

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=561E686B.4050902@6wind.com \
    --to=vincent.jardin@6wind.com \
    --cc=dev@dpdk.org \
    --cc=john.mcnamara@intel.com \
    --cc=therbert@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 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.