From patchwork Mon Sep 21 13:59:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Power, Ciara" X-Patchwork-Id: 78191 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4F6CAA04CC; Mon, 21 Sep 2020 16:02:34 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 068CB1DA5D; Mon, 21 Sep 2020 16:02:24 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 27DFA1D9E4 for ; Mon, 21 Sep 2020 16:02:20 +0200 (CEST) IronPort-SDR: iRI/2ZNKAAnOoLuiEQJhqlUMClVsD1WICYZB85gVXsJHBVwXcDT1CkP73jefG90enQiZ723Who GCGnUk08o4Mw== X-IronPort-AV: E=McAfee;i="6000,8403,9750"; a="148038606" X-IronPort-AV: E=Sophos;i="5.77,286,1596524400"; d="scan'208";a="148038606" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2020 07:02:17 -0700 IronPort-SDR: q1ePjYZLAK/o7YhUTrwsb93e7LEXqMHmz0yQjdD8uHQLTlU7ueTWE4nP4THSjp8ZU3/k0Dm+js Hqbb8jAoIVNQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,286,1596524400"; d="scan'208";a="510082818" Received: from silpixa00399953.ir.intel.com (HELO silpixa00399953.ger.corp.intel.com) ([10.237.222.53]) by fmsmga006.fm.intel.com with ESMTP; 21 Sep 2020 07:02:16 -0700 From: Ciara Power To: dev@dpdk.org Cc: Ciara Power , John McNamara , Marko Kovacevic Date: Mon, 21 Sep 2020 14:59:14 +0100 Message-Id: <20200921135931.13355-4-ciara.power@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200921135931.13355-1-ciara.power@intel.com> References: <20200807123009.21266-1-ciara.power@intel.com> <20200921135931.13355-1-ciara.power@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5 03/20] doc: remove references to make from Linux guide X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Make is no longer supported for compiling DPDK, references are now removed in the documentation. Signed-off-by: Ciara Power Reviewed-by: Bruce Richardson --- doc/guides/linux_gsg/build_dpdk.rst | 16 +++++++++++----- doc/guides/linux_gsg/build_sample_apps.rst | 18 +++--------------- doc/guides/linux_gsg/enable_func.rst | 13 +++++-------- doc/guides/linux_gsg/linux_drivers.rst | 18 +++++++++++------- doc/guides/linux_gsg/sys_reqs.rst | 6 +----- 5 files changed, 31 insertions(+), 40 deletions(-) diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst index a895e1b0f4..85d04520bf 100644 --- a/doc/guides/linux_gsg/build_dpdk.rst +++ b/doc/guides/linux_gsg/build_dpdk.rst @@ -76,6 +76,8 @@ and the last step causing the dynamic loader `ld.so` to update its cache to take distributions, `/usr/local/lib` and `/usr/local/lib64` should be added to a file in `/etc/ld.so.conf.d/` before running `ldconfig`. +.. _adjusting_build_options: + Adjusting Build Options ~~~~~~~~~~~~~~~~~~~~~~~ @@ -112,6 +114,9 @@ dependencies are met on the current system are built. When `-Dexamples=all` is set as a meson option, meson will check each example application to see if it can be built, and add all which can be built to the list of tasks in the ninja build configuration file. +.. _building_app_using_installed_dpdk: + + Building Applications Using Installed DPDK ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -135,11 +140,12 @@ and the sources for that build are stored in ``$(SRCS-y)``. .. note:: - Unlike with the older make build system, the meson system is not - designed to be used directly from a build directory. Instead it is - recommended that it be installed either system-wide or to a known - location in the user's home directory. The install location can be set - using the `--prefix` meson option (default: `/usr/local`). + Unlike with the make build system present used in older DPDK releases, + the meson system is not designed to be used directly from a build + directory. Instead it is recommended that it be installed either + system-wide or to a known location in the user's home directory. + The install location can be set using the `--prefix` meson option + (default: `/usr/local`). an equivalent build recipe for a simple DPDK application using meson as a build system is shown below: diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst index 2882883f95..f4bf0e71e5 100644 --- a/doc/guides/linux_gsg/build_sample_apps.rst +++ b/doc/guides/linux_gsg/build_sample_apps.rst @@ -1,7 +1,7 @@ .. SPDX-License-Identifier: BSD-3-Clause Copyright(c) 2010-2014 Intel Corporation. -Compiling and Running Sample Applications +Running Sample Applications ========================================= The chapter describes how to compile and run applications in an DPDK environment. @@ -119,7 +119,7 @@ Copy the DPDK application binary to your target, then run the application as fol (assuming the platform has four memory channels per processor socket, and that cores 0-3 are present and are to be used for running the application):: - ./helloworld -l 0-3 -n 4 + ./dpdk-helloworld -l 0-3 -n 4 .. note:: @@ -183,19 +183,7 @@ If the DPDK cannot allocate enough memory on each socket, the EAL initialization Additional Sample Applications ------------------------------ -Additional sample applications are included in the ${RTE_SDK}/examples directory. +Additional sample applications are included in the DPDK examples directory. These sample applications may be built and run in a manner similar to that described in earlier sections in this manual. In addition, see the *DPDK Sample Applications User Guide* for a description of the application, specific instructions on compilation and execution and some explanation of the code. - -Additional Test Applications ----------------------------- - -In addition, there are two other applications that are built when the libraries are created. -The source files for these are in the DPDK/app directory and are called test and testpmd. -Once the libraries are created, they can be found in the build/app directory. - -* The test application provides a variety of specific tests for the various functions in the DPDK. - -* The testpmd application provides a number of different packet throughput tests and - examples of features such as how to use the Flow Director found in the IntelĀ® 82599 10 Gigabit Ethernet Controller. diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst index b2bda80bb7..08f55d8543 100644 --- a/doc/guides/linux_gsg/enable_func.rst +++ b/doc/guides/linux_gsg/enable_func.rst @@ -41,7 +41,9 @@ Enabling HPET in the DPDK ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By default, HPET support is disabled in the DPDK build configuration files. -To use HPET, the ``CONFIG_RTE_LIBEAL_USE_HPET`` setting should be changed to ``y``, which will enable the HPET settings at compile time. +To use HPET, use the following meson build option which will enable the HPET settings at compile time:: + + meson configure -Duse_hpet=true For an application to use the ``rte_get_hpet_cycles()`` and ``rte_get_hpet_hz()`` API calls, and optionally to make the HPET the default time source for the rte_timer library, @@ -128,13 +130,8 @@ Loading the DPDK KNI Kernel Module ---------------------------------- To run the DPDK Kernel NIC Interface (KNI) sample application, an extra kernel module (the kni module) must be loaded into the running kernel. -The module is found in the kmod sub-directory of the DPDK target directory. -Similar to the loading of the ``igb_uio`` module, this module should be loaded using the insmod command as shown below -(assuming that the current directory is the DPDK target directory): - -.. code-block:: console - - insmod kmod/rte_kni.ko +The module is found in the kernel/linux sub-directory of the DPDK build directory. +This can be enabled in the same way as the ``igb_uio`` module, please see :ref:`load_uio` for details. .. note:: diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst index 185074013a..349be1c906 100644 --- a/doc/guides/linux_gsg/linux_drivers.rst +++ b/doc/guides/linux_gsg/linux_drivers.rst @@ -12,6 +12,9 @@ Different PMDs may require different kernel drivers in order to work properly. Depends on the PMD being used, a corresponding kernel driver should be load and bind to the network ports. +.. _load_uio: + + UIO --- @@ -28,19 +31,20 @@ can provide the uio capability. This module can be loaded using the command: ``uio_pci_generic`` module doesn't support the creation of virtual functions. As an alternative to the ``uio_pci_generic``, the DPDK also includes the igb_uio -module which can be found in the kmod subdirectory referred to above. It can +module which can be found in the kernel/linux subdirectory referred to above. It can be loaded as shown below: .. code-block:: console sudo modprobe uio - sudo insmod kmod/igb_uio.ko + sudo insmod /kernel/linux/igb_uio/igb_uio.ko .. note:: - ``igb_uio`` module is disabled by default starting from ``DPDK v20.02``. - To build it, the config option ``CONFIG_RTE_EAL_IGB_UIO`` should be enabled. - It is planned to move ``igb_uio`` module to a different git repository. + Building DPDK Linux kernel modules is disabled by default starting from DPDK v20.02. + To enable them again, the config option "enable_kmods" needs to be set in the meson + build configuration. See :ref:`adjusting_build_options` for details on how to set/clear + build options. It is planned to move ``igb_uio`` module to a different git repository. .. note:: @@ -104,11 +108,11 @@ parameter ``--vfio-vf-token``. 3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs 4. Start the PF: - ./x86_64-native-linux-gcc/app/testpmd -l 22-25 -n 4 -w 86:00.0 \ + .//app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \ --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i 5. Start the VF: - ./x86_64-native-linux-gcc/app/testpmd -l 26-29 -n 4 -w 86:02.0 \ + .//app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \ --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as IntelĀ® VT-d). diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst index 6b9f573fce..625fb58066 100644 --- a/doc/guides/linux_gsg/sys_reqs.rst +++ b/doc/guides/linux_gsg/sys_reqs.rst @@ -43,11 +43,7 @@ Compilation of the DPDK * For Ubuntu/Debian systems these can be installed using ``apt install build-essential`` -* Python, recommended version 3.5+. - - * Python v3.5+ is needed to build DPDK using meson and ninja - - * Python 2.7+ or 3.2+, to use various helper scripts included in the DPDK package. +* Python, v3.5 or later. * Meson (version 0.47.1+) and ninja