All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vincent JARDIN <vincent.jardin-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: "Zhou, Danny" <danny.zhou-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: "dev-VfR2kkLFssw@public.gmane.org"
	<dev-VfR2kkLFssw@public.gmane.org>,
	"Fastabend,
	John R"
	<john.r.fastabend-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: bifurcated driver
Date: Thu, 06 Nov 2014 02:30:33 +0100	[thread overview]
Message-ID: <545ACF39.5000507@6wind.com> (raw)
In-Reply-To: <DFDF335405C17848924A094BC35766CF0A98FBC5-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>

+Or

On 05/11/2014 23:48, Zhou, Danny wrote:
> Hi Thomas,
>
> Thanks for sharing the links to ibverbs, I will take a close look at it and compare it to bifurcated driver. My take
> after a rough review is that idea is very much similar, but bifurcated driver implementation is generic for any
> Ethernet device based on existing af_packet mechanism, with extension of exchanging the messages between
> user space and kernel space driver.
>
> I have an internal document to summary the pros and cons of below solutions, except for ibvers, but
> will be adding it shortly.
>
> - igb_uio
> - uio_pci_generic
> - VFIO
> - bifurcated driver
>
> Short answers to your questions:
>> 	- upstream status
> Adding IOMMU based memory protection and generic descriptor description support now, into version 2
> kernel patches.
>
>> 	- usable with kernel netdev
> af_packet based, and relevant patchset will be submitted to netdev for sure.
>
>> 	- usable in a vm
> No, it does no coexist with SRIOV for number of reasons. but if you pass-through a PF to a VM, it works perfect.
>
>> 	- usable for Ethernet
> It could work with all Ethernet NICs, as flow director is available and NIC driver support new net_ops to split off
> queue pairs for user space.
>
>> 	- hardware requirements
> No specific hardware requirements. All mainstream NICs have multiple qpairs and flow director support.
>
>> 	- security protection
> Leverage IOMMU to provide memory protection on Intel platform. Other archs provide similar memory protection
> mechanism, so we only use arch-agnostic DMA memory allocation APIs in kernel to support memory protection.
>
>> 	- performance
> DPDK native performance on user space queues, as long as drop_en is enabled to avoid head-of-line blocking.
>
> -Danny
>
>> -----Original Message-----
>> From: Thomas Monjalon [mailto:thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org]
>> Sent: Wednesday, November 05, 2014 9:01 PM
>> To: Zhou, Danny
>> Cc: dev-VfR2kkLFssw@public.gmane.org; Fastabend, John R
>> Subject: Re: [dpdk-dev] bifurcated driver
>>
>> Hi Danny,
>>
>> 2014-10-31 17:36, O'driscoll, Tim:
>>> Bifurcated Driver (Danny.Zhou-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org)
>>
>> Thanks for the presentation of bifurcated driver during the community call.
>> I asked if you looked at ibverbs and you wanted a link to check.
>> The kernel module is here:
>> 	http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/infiniband/core
>> The userspace library:
>> 	http://git.kernel.org/cgit/libs/infiniband/libibverbs.git
>>
>> Extract from Kconfig:
>> "
>> config INFINIBAND_USER_ACCESS
>> 	tristate "InfiniBand userspace access (verbs and CM)"
>> 	select ANON_INODES
>> 	---help---
>> 	  Userspace InfiniBand access support.  This enables the
>> 	  kernel side of userspace verbs and the userspace
>> 	  communication manager (CM).  This allows userspace processes
>> 	  to set up connections and directly access InfiniBand
>> 	  hardware for fast-path operations.  You will also need
>> 	  libibverbs, libibcm and a hardware driver library from
>> 	  <http://www.openfabrics.org/git/>.
>> "
>>
>> It seems to be close to the bifurcated driver needs.
>> Not sure if it can solve the security issues if there is no dedicated MMU
>> in the NIC.
>>
>> I feel we should sum up pros and cons of
>> 	- igb_uio
>> 	- uio_pci_generic
>> 	- VFIO
>> 	- ibverbs
>> 	- bifurcated driver
>> I suggest to consider these criterias:
>> 	- upstream status
>> 	- usable with kernel netdev
>> 	- usable in a vm
>> 	- usable for ethernet
>> 	- hardware requirements
>> 	- security protection
>> 	- performance
>>
>> --
>> Thomas

  parent reply	other threads:[~2014-11-06  1:30 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-24  9:22 DPDK Community Conference Call - Friday 31st October O'driscoll, Tim
     [not found] ` <26FA93C7ED1EAA44AB77D62FBE1D27BA54C42C29-kPTMFJFq+rFP9JyJpTNKArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-10-24 15:05   ` Michael Marchetti
     [not found]     ` <A7E5BBF1ACE50B43AF1D6E89B8280FE4C52C3DD0-optG8WkO7DUmBZHPKbibd5rt+qvZzhbF@public.gmane.org>
2014-10-24 15:22       ` O'driscoll, Tim
2014-10-31 15:34   ` O'driscoll, Tim
     [not found]     ` <26FA93C7ED1EAA44AB77D62FBE1D27BA54C4620C-kPTMFJFq+rFP9JyJpTNKArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-10-31 17:36       ` O'driscoll, Tim
     [not found]         ` <26FA93C7ED1EAA44AB77D62FBE1D27BA54C46444-kPTMFJFq+rFP9JyJpTNKArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-01 12:59           ` Neil Horman
     [not found]             ` <20141101125905.GB9971-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-11-01 14:05               ` Vincent JARDIN
2014-11-05 13:00           ` bifurcated driver Thomas Monjalon
2014-11-05 15:14             ` Alex Markuze
     [not found]               ` <CAKfHP0WGL=C2sTzsn7uMZJ4CyhqJwA4YqTB7MOa8uFROWYNHgQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-05 15:19                 ` Alex Markuze
     [not found]                   ` <CAKfHP0XLcRhYHNfvPGM=stxqNGyqtLBEyME1cBqiZbPPGa53Bw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-05 22:19                     ` Zhou, Danny
2014-11-05 22:48             ` Zhou, Danny
     [not found]               ` <DFDF335405C17848924A094BC35766CF0A98FBC5-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-06  1:30                 ` Vincent JARDIN [this message]
     [not found]                   ` <545ACF39.5000507-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-06  4:45                     ` Zhou, Danny
     [not found]                       ` <DFDF335405C17848924A094BC35766CF0A990522-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-06  8:13                         ` Alex Markuze
     [not found]                           ` <CAKfHP0VaCW_zBb9-uJYwwDQ-+sz-DZ=b6hcWn0HfMmMzhiOfUA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-06  9:10                             ` Nicolas Dichtel
2014-11-24 11:57             ` Luke Gorrie
     [not found]               ` <CAA2XHbffNC=KcwFrxkUADpXA7EFYxJYwq8tLzvr-H0aYVd1T9Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-24 13:38                 ` Zhou, Danny
2014-11-20  7:17           ` DPDK Community Conference Call - Friday 31st October Kevin Wilson
     [not found]             ` <CAGXs5wXnn-Riu0+pyOQWULkygbX7T=aozdk=yKxGMXmK0GKt-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-20 13:13               ` O'driscoll, Tim
     [not found]                 ` <26FA93C7ED1EAA44AB77D62FBE1D27BA54C668E0-kPTMFJFq+rFP9JyJpTNKArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-20 17:02                   ` Kevin Wilson
     [not found]                     ` <CAGXs5wU8oQg0WZGT-OmgJgN5q_=Hn1dx+shqx=B8-S1HRs2Z6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-20 23:26                       ` O'driscoll, Tim
     [not found]                         ` <26FA93C7ED1EAA44AB77D62FBE1D27BA54C66F8B-kPTMFJFq+rFP9JyJpTNKArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-21 10:54                           ` Kevin Wilson

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=545ACF39.5000507@6wind.com \
    --to=vincent.jardin-pdr9zngts4eavxtiumwx3w@public.gmane.org \
    --cc=danny.zhou-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=john.r.fastabend-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.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 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.