On Wed, Feb 25, 2015 at 12:14:15PM +0000, Iremonger, Bernard wrote: > > > > -----Original Message----- > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce Richardson > > Sent: Tuesday, February 24, 2015 4:28 PM > > To: dev at dpdk.org > > Subject: [dpdk-dev] [PATCH 1/2] doc: Update GSG for uio_pci_generic use > > > > Since DPDK now has support for the in-tree uio_pci_generic driver, update > > the GSG document to > > reference this module, and to use it in preference to the igb_uio driver, > > which is DPDK-specific. > > > > Signed-off-by: Bruce Richardson <bruce.richardson at intel.com> > > --- > > doc/guides/linux_gsg/build_dpdk.rst | 63 > > +++++++++++++++++------------- > > doc/guides/linux_gsg/build_sample_apps.rst | 5 ++- > > doc/guides/linux_gsg/enable_func.rst | 2 + > > 3 files changed, 40 insertions(+), 30 deletions(-) > > > > diff --git a/doc/guides/linux_gsg/build_dpdk.rst > > b/doc/guides/linux_gsg/build_dpdk.rst > > index d09c69d..255d6dc 100644 > > --- a/doc/guides/linux_gsg/build_dpdk.rst > > +++ b/doc/guides/linux_gsg/build_dpdk.rst > > @@ -133,7 +133,8 @@ use the make config T=<target> command: > > > > .. warning:: > > > > - The igb_uio module must be compiled with the same kernel as the one > > running on the target. > > + Any kernel modules to be used, e.g. igb_uio, kni, must be compiled > > with the > > + same kernel as the one running on the target. > > If the DPDK is not being built on the target machine, > > the RTE_KERNELDIR environment variable should be used to point the > > compilation at a copy of the > > kernel version to be used on the target machine. > > > > @@ -154,28 +155,29 @@ Browsing the Installed DPDK Environment Target > > > > Once a target is created it contains all libraries and header files for > > the DPDK environment that are > > required to build customer applications. > > In addition, the test and testpmd applications are built under the > > build/app directory, which may be > > used for testing. > > -In the case of Linux, a kmod directory is also present that contains a > > module to install: > > +A kmod directory is also present that contains kernel modules which may > > be loaded if needed: > > > > .. code-block:: console > > > > $ ls x86_64-native-linuxapp-gcc > > app build hostapp include kmod lib Makefile > > > > -Loading the DPDK igb_uio Module > > -------------------------------- > > +Loading Modules to Enable Userspace IO for DPDK > > +----------------------------------------------- > > > > -To run any DPDK application, the igb_uio module can be loaded into the > > running kernel. > > -The module is found in the kmod sub-directory of the DPDK target directory. > > -This module should be loaded using the insmod command as shown below > > (assuming that the > > current directory is the DPDK target directory). > > -In many cases, the uio support in the Linux* kernel is compiled as a > > module rather than as part of the > > kernel, -so it is often necessary to load the uio module first: > > > Hi Bruce, > > Should the information about igb_uio be retained alongside the new > information about uio_pci_generic? >
This is obviously a matter of opinion, but: "no". This doc is a Getting Started Guide, and therefore meant to cover just the minimum needed to get up and running and ignoring advanced details. "uio_pci_generic" is the simplest path to getting up and running quickly, and maintaining mention of igb_uio just adds to the complexity of the documentation. Since uio_pci_generic also works on most linux distro's I'd also be tempted to move the vfio details out of the main GSG body - perhaps to the extra chapter covering KNI and running as non-root, again with the objective of simplifying things for the beginner. VFIO and igb_uio are provided for those who want something extra above what uio_pci_generic provides, e.g. security, or ability to create VF devices on all kernels while having the PF in use by DPDK. Regards, /Bruce