From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: Bruce Richardson <bruce.richardson@intel.com>, danny.zhou@intel.com
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v3 0/3] enable uio_pci_generic support
Date: Fri, 20 Feb 2015 23:35:35 +0100 [thread overview]
Message-ID: <2756218.dzv8LREliS@xps13> (raw)
In-Reply-To: <54E77270.102@intel.com>
> > v3 changes
> > - made processing of uio devices identical, irrespective of igb_uio or uio_pci_generic
> > - removed storage of kernel driver name from dev node as now unneeded.
> >
> > v2 changes:
> > - Change variable name of kernel driver with precise comment
> > - Fix a union definition error in v1 patchset
> > - Move redefined macro IORESOURCE_MEM to rte_pci.h with comment
> >
> > Linux kernel provides UIO as well as VFIO mechanism to support writing user
> > space device driver. Comparing to UIO which is available since 2.6.32 kernel,
> > the VFIO is introduced into kernel since version 3.6.0 with better interrupt
> > and memory protection (build on top of Intel VT-d technology) supports.
> > Basically, UIO and VFIO do two common things below:
> > 1) Map PCIe device's I/O memory space to user space driver
> > 2) Support device interrupt notification mechanism that notifies user space
> > driver/application when a device interrupt triggers.
> >
> > To run an DPDK application and make use of VFIO, two in_kernel modules
> > vfio and vfio-pci module must be loaded. To use UIO, a DPDK kernel
> > module igb_uio, which was there since DPDK is invented, must be loaded to
> > attach to in_kernel uio module. As an solution to deprecate igb_uio,
> > this patch serials leverage the uio_pci_generic in_kernel module to support
> > DPDK user space PMD in a generic fashion (similar to how VFIO works), to
> > remove user space DPDK dependency on GPL code igb_uio in kernel.
> >
> > Example to bind Network Ports to uio_pci_generic:
> > modprobe uio
> > modprobe uio_pci_generic
> > /* to bind device 08:00.0, to the uio_pci_generic driver */
> > ./tools/dpdk_nic_bind.py -b uio_pci_generic 08:00.0
> >
> > Note: this patch set does not remove igb_uio support due to igb_uio supports
> > creating maximum number of SR-IOV VFs (Virtual Functions) by using max_vfs
> > kernel parameter on older kernels (kernel 3.7.x and below).
> > Specifically, igb_uio explicitly calls pci_enable_sriov() to create VFs, while
> > it is not invoked in either uio or uio_pci_generic kernel modules. On kernel 3.8.x
> > and above, user can use the standard sysfs to enable VFs. For examples:
> >
> > #echo $num_vf_enabled > /sys/class/net/$dev/device/sriov_numvfs // enable VFs
> > #echo 0 > /sys/class/net/$dev/device/sriov_numvfs // disable VFs
> >
> >
> > Zhou Danny (3):
> > eal: enable uio_pci_generic support
> > eal: add interrupt enable/disable routines for uio_pci_generic
> > tools: enable binding NIC device to uio_pci_generic
>
> Series Acked-by: Declan Doherty <declan.doherty@intel.com>
Applied, thanks
prev parent reply other threads:[~2015-02-20 22:36 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-19 17:08 [dpdk-dev] [PATCH v2 0/3] Enable " Zhou Danny
2015-02-19 17:08 ` [dpdk-dev] [PATCH v2 1/3] eal: enable " Zhou Danny
2015-02-20 9:01 ` Thomas Monjalon
2015-02-20 10:15 ` Bruce Richardson
2015-02-19 17:08 ` [dpdk-dev] [PATCH v2 2/3] eal: add interrupt enable/disable routines for uio_pci_generic Zhou Danny
2015-02-19 17:08 ` [dpdk-dev] [PATCH v2 3/3] tools: enable binding NIC device to uio_pci_generic Zhou Danny
2015-02-20 16:59 ` [dpdk-dev] [PATCH v3 0/3] enable uio_pci_generic support Bruce Richardson
2015-02-20 16:59 ` [dpdk-dev] [PATCH v3 1/3] eal: " Bruce Richardson
2015-02-23 15:24 ` David Marchand
2015-02-20 16:59 ` [dpdk-dev] [PATCH v3 2/3] eal: add interrupt enable/disable routines for uio_pci_generic Bruce Richardson
2015-02-20 16:59 ` [dpdk-dev] [PATCH v3 3/3] tools: enable binding NIC device to uio_pci_generic Bruce Richardson
2015-02-20 17:44 ` [dpdk-dev] [PATCH v3 0/3] enable uio_pci_generic support Declan Doherty
2015-02-20 22:35 ` Thomas Monjalon [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=2756218.dzv8LREliS@xps13 \
--to=thomas.monjalon@6wind.com \
--cc=bruce.richardson@intel.com \
--cc=danny.zhou@intel.com \
--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).