From patchwork Mon Nov 25 14:55:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63278 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 94CC8A04C2; Mon, 25 Nov 2019 15:56:22 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 599514C9D; Mon, 25 Nov 2019 15:56:22 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 8CA0E4C99 for ; Mon, 25 Nov 2019 15:56:20 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2019 06:56:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,241,1571727600"; d="scan'208";a="239560808" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 25 Nov 2019 06:56:18 -0800 From: Bruce Richardson To: john.mcnamara@intel.com Cc: dev@dpdk.org, anatoly.burakov@intel.com, Bruce Richardson Date: Mon, 25 Nov 2019 14:55:52 +0000 Message-Id: <20191125145559.29251-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191125145559.29251-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191125145559.29251-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 1/8] doc: update Linux GSG system requirements section 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" Update the system requirements section of the doc to cover builds with meson and ninja. This involves updating the package dependencies to include meson, ninja and python 3.5, and also updating the optional dependencies section to explain that the components are enabled/disabled automatically by meson. As part of this update, the relevant sections were simplified to keep the document shorter. For mandatory requirements, we can refer to the various distro's development tools package groups rather than requiring gcc, core tools etc. individually. The optional package list was very incomplete, and if complete would duplicate information in the individual driver's guides. Therefore we can simplify it by listing only the library optional requirements and referring users to the driver docs to find details on their dependencies. Signed-off-by: Bruce Richardson --- doc/guides/linux_gsg/sys_reqs.rst | 64 +++++++++++++++---------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst index d2359058b..e18f43116 100644 --- a/doc/guides/linux_gsg/sys_reqs.rst +++ b/doc/guides/linux_gsg/sys_reqs.rst @@ -37,32 +37,22 @@ Compilation of the DPDK The setup commands and installed packages needed on various systems may be different. For details on Linux distributions and the versions tested, please consult the DPDK Release Notes. -* GNU ``make``. +* General development tools including ``make``, and a supported C compiler such as ``gcc`` or ``clang``. -* coreutils: ``cmp``, ``sed``, ``grep``, ``arch``, etc. + * For Red Hat/Fedora systems these can be installed using ``dnf groupinstall "Development Tools"`` -* gcc: versions 4.9 or later is recommended for all platforms. - On some distributions, some specific compiler flags and linker flags are enabled by - default and affect performance (``-fstack-protector``, for example). Please refer to the documentation - of your distribution and to ``gcc -dumpspecs``. + * For Ubuntu/Debian systems these can be installed using ``apt install build-essential`` -* libc headers, often packaged as ``gcc-multilib`` (``glibc-devel.i686`` / ``libc6-dev-i386``; - ``glibc-devel.x86_64`` / ``libc6-dev`` for 64-bit compilation on Intel architecture; - ``glibc-devel.ppc64`` for 64 bit IBM Power architecture;) +* Python, recommended version 3.5+. -* Linux kernel headers or sources required to build kernel modules. (kernel - devel.x86_64; - kernel - devel.ppc64) + * Python v3.5+ is needed to build DPDK using meson and ninja -* Additional packages required for 32-bit compilation on 64-bit systems are: + * Python 2.7+ or 3.2+, to use various helper scripts included in the DPDK package. - * glibc.i686, libgcc.i686, libstdc++.i686 and glibc-devel.i686 for Intel i686/x86_64; +* Meson (v0.47.1+) and ninja - * glibc.ppc64, libgcc.ppc64, libstdc++.ppc64 and glibc-devel.ppc64 for IBM ppc_64; - - .. note:: - - x86_x32 ABI is currently supported with distribution packages only on Ubuntu - higher than 13.10 or recent Debian distribution. The only supported compiler is gcc 4.9+. + * Recommended to use the latest versions from Python's "pip" repository: + ``pip3 install meson ninja`` * Library for handling NUMA (Non Uniform Memory Access). @@ -70,16 +60,7 @@ Compilation of the DPDK * libnuma-dev in Debian/Ubuntu; - .. note:: - - On systems with NUMA support, `libnuma-dev` (aka `numactl-devel`) - is a recommended dependency when `--legacy-mem` switch is used, - and a *required* dependency if default memory mode is used. - While DPDK will compile and run without `libnuma` - even on NUMA-enabled systems, - both usability and performance will be degraded. - -* Python, version 2.7+ or 3.2+, to use various helper scripts included in the DPDK package. +* Linux kernel headers or sources required to build kernel modules. .. note:: @@ -96,10 +77,29 @@ Compilation of the DPDK which allows users to take leading edge advantage of IBM's latest POWER hardware features on Linux. To install it, see the IBM official installation document. -* libpcap headers and libraries (libpcap-devel) to compile and use the libpcap-based poll-mode driver. - This driver is disabled by default and can be enabled by setting ``CONFIG_RTE_LIBRTE_PMD_PCAP=y`` in the build time config file. +**Additional Libraries** + +A number of DPDK components, such as libraries and poll-mode drivers (PMDs) have additional dependencies. +For DPDK builds using meson, the presence or absence of these dependencies will be +automatically detected enabling or disabling the relevant components appropriately. + +For builds using make, these components are disabled in the default configuration and +need to be enabled manually my changing the relevant setting to "y" in the build configuration file +i.e. the ``.config`` file in the build folder. + +In each case, the relevant library development package (``-devel`` or ``-dev``) is needed to build the DPDK components. + +For libraries the additional dependencies include: + +* libarchive: for some unit tests using tar to get their resources. + +* jansson: to compile and use the telemetry library. + +* libelf: to compile and use the bpf library. -* libarchive headers and library are needed for some unit tests using tar to get their resources. +For poll-mode drivers, the additional dependencies for each driver can be +found in that driver's documentation in the relevant DPDK guide document, +e.g. Network Interface Controller Drivers Guide Running DPDK Applications From patchwork Mon Nov 25 14:55:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63279 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 79612A04C2; Mon, 25 Nov 2019 15:56:33 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 063FA5681; Mon, 25 Nov 2019 15:56:27 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 9AEB02BCE for ; Mon, 25 Nov 2019 15:56:25 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2019 06:56:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,241,1571727600"; d="scan'208";a="239560831" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 25 Nov 2019 06:56:23 -0800 From: Bruce Richardson To: john.mcnamara@intel.com Cc: dev@dpdk.org, anatoly.burakov@intel.com, Bruce Richardson Date: Mon, 25 Nov 2019 14:55:53 +0000 Message-Id: <20191125145559.29251-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191125145559.29251-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191125145559.29251-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 2/8] doc: add building with meson to linux GSG 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" Add instructions on building DPDK and using the pkg-config file to the linux GSG. Signed-off-by: Bruce Richardson Acked-by: Anatoly Burakov --- V2: Changes following Anatoly's review: * minor grammar fix * added ldconfig call to instructions and note about needing to add /usr/local/lib* to loader paths on RHEL/Fedora * added description of -Dexamples option * added example of using libdpdk from an app meson.build file --- doc/guides/linux_gsg/build_dpdk.rst | 139 +++++++++++++++++++++++++++- 1 file changed, 135 insertions(+), 4 deletions(-) diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst index 7c0329fcc..4aeb4697d 100644 --- a/doc/guides/linux_gsg/build_dpdk.rst +++ b/doc/guides/linux_gsg/build_dpdk.rst @@ -11,8 +11,8 @@ Compiling the DPDK Target from Source Parts of this process can also be done using the setup script described in the :ref:`linux_setup_script` section of this document. -Install the DPDK and Browse Sources ------------------------------------ +Uncompress DPDK and Browse Sources +---------------------------------- First, uncompress the archive and move to the uncompressed DPDK source directory: @@ -33,8 +33,139 @@ The DPDK is composed of several directories: * config, buildtools, mk: Framework-related makefiles, scripts and configuration -Installation of DPDK Target Environments ----------------------------------------- +Compiling and Installing DPDK System-wide +----------------------------------------- + +DPDK can be configured, built and installed on your system using the tools +``meson`` and ``ninja``. + +.. note:: + + The older makefile-based build system used in older DPDK releases is + still present and its use is described in section + `Installation of DPDK Target Environment using Make`_. + +DPDK Configuration +~~~~~~~~~~~~~~~~~~ + +To configure a DPDK build use: + +.. code-block:: console + + meson build + +where "build" is the desired output build directory, and "" can be +empty or one of a number of meson or DPDK-specific build options, described +later in this section. The configuration process will finish with a summary +of what DPDK libraries and drivers are to be built and installed, and for +each item disabled, a reason why that is the case. This information can be +used, for example, to identify any missing required packages for a driver. + +Once configured, to build and then install DPDK system-wide use: + +.. code-block:: console + + cd build + ninja + ninja install + ldconfig + +The last two commands above generally need to be run as root, +with the `ninja install` step copying the built objects to their final system-wide locations, +and the last step causing the dynamic loader `ld.so` to update its cache to take account of the new objects. + +.. note:: + + On some linux distributions, such as Fedora or Redhat, paths in `/usr/local` are + not in the default paths for the loader. Therefore, on these + 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 +~~~~~~~~~~~~~~~~~~~~~~~ + +DPDK has a number of options that can be adjusted as part of the build configuration process. +These options can be listed by running ``meson configure`` inside a configured build folder. +Many of these options come from the "meson" tool itself and can be seen documented on the +`Meson Website `_. + +For example, to change the build-type from the default, "debugoptimized", +to a regular "debug" build, you can either: + +* pass ``-Dbuildtype=debug`` or ``--buildtype=debug`` to meson when configuring the build folder initially + +* run ``meson configure -Dbuildtype=debug`` inside the build folder after the initial meson run. + +Other options are specific to the DPDK project but can be adjusted similarly. +To set the "max_lcores" value to 256, for example, you can either: + +* pass ``-Dmax_lcores=256`` to meson when configuring the build folder initially + +* run ``meson configure -Dmax_lcores=256`` inside the build folder after the initial meson run. + +Some of the DPDK sample applications in the `examples` directory can be +automatically built as part of a meson build too. +To do so, pass a comma-separated list of the examples to build to the +`-Dexamples` meson option as below:: + + meson -Dexamples=l2fwd,l3fwd build + +As with other meson options, this can also be set post-initial-config using `meson configure` in the build directory. +There is also a special value "all" to request that all example applications whose +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 Applications Using Installed DPDK +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When installed system-wide, DPDK provides a pkg-config file ``libdpdk.pc`` for applications to query as part of their build. +It's recommended that the pkg-config file be used, rather than hard-coding the parameters (cflags/ldflags) +for DPDK into the application build process. + +An example of how to query and use the pkg-config file can be found in the ``Makefile`` of each of the example applications included with DPDK. +A simplified example snippet is shown below, where the target binary name has been stored in the variable ``$(APP)`` +and the sources for that build are stored in ``$(SRCS-y)``. + +.. code-block:: makefile + + PKGCONF = pkg-config + + CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) + LDFLAGS += $(shell $(PKGCONF) --libs libdpdk) + + $(APP): $(SRCS-y) Makefile + $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) + +.. 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`). + +an equivalent build recipe for a simple DPDK application using meson as a +build system is shown below: + +.. code-block:: python + + project('dpdk-app', 'c') + + dpdk = dependency('libdpdk') + sources = files('main.c') + executable('dpdk-app', sources, dependencies: dpdk) + + +Installation of DPDK Target Environment using Make +-------------------------------------------------- + +.. note:: + + The building of DPDK using make will be deprecated in a future release. It + is therefore recommended that DPDK installation is done using meson and + ninja as described above. The format of a DPDK target is:: From patchwork Mon Nov 25 14:55:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63280 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 CB0E1A04C2; Mon, 25 Nov 2019 15:56:43 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BF2611B42A; Mon, 25 Nov 2019 15:56:30 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 6E8BE5B3E for ; Mon, 25 Nov 2019 15:56:27 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2019 06:56:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,241,1571727600"; d="scan'208";a="239560854" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 25 Nov 2019 06:56:25 -0800 From: Bruce Richardson To: john.mcnamara@intel.com Cc: dev@dpdk.org, anatoly.burakov@intel.com, Bruce Richardson , Gavin Hu Date: Mon, 25 Nov 2019 14:55:54 +0000 Message-Id: <20191125145559.29251-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191125145559.29251-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191125145559.29251-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 3/8] doc: reorder meson and make build instructions for arm 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" Since the meson instructions are the simpler of the two sets, and also the ones most future-proof, put those first in the user documentation with make instructions following them. Signed-off-by: Bruce Richardson Acked-by: Gavin Hu --- .../linux_gsg/cross_build_dpdk_for_arm64.rst | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst index e799b0ba4..8c87a595e 100644 --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst @@ -77,8 +77,23 @@ Copy the NUMA header files and lib to the cross compiler's directories: .. _configure_and_cross_compile_dpdk_build: -Configure and cross compile DPDK Build --------------------------------------- +Cross Compiling DPDK using Meson +-------------------------------- + +To cross-compile DPDK on a desired target machine we can use the following +command:: + + meson cross-build --cross-file + ninja -C cross-build + +For example if the target machine is arm64 we can use the following +command:: + + meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc + ninja -C arm64-build + +Configure and Cross Compile DPDK using Make +------------------------------------------- To configure a build, choose one of the target configurations, like arm64-dpaa-linux-gcc and arm64-thunderx-linux-gcc. .. code-block:: console @@ -119,17 +134,4 @@ To compile for non-NUMA targets, without compiling the kernel modules, use the f make -j CROSS=aarch64-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n EXTRA_CFLAGS="-isystem /include" EXTRA_LDFLAGS="-L/lib -lnuma" -Meson Cross Compiling DPDK --------------------------- - -To cross-compile DPDK on a desired target machine we can use the following -command:: - - meson cross-build --cross-file - ninja -C cross-build - -For example if the target machine is arm64 we can use the following -command:: - meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc - ninja -C arm64-build From patchwork Mon Nov 25 14:55:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63281 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 E681DA04C2; Mon, 25 Nov 2019 15:56:50 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 497591B9A9; Mon, 25 Nov 2019 15:56:32 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 34F018F96 for ; Mon, 25 Nov 2019 15:56:30 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2019 06:56:29 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,241,1571727600"; d="scan'208";a="239560899" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 25 Nov 2019 06:56:28 -0800 From: Bruce Richardson To: john.mcnamara@intel.com Cc: dev@dpdk.org, anatoly.burakov@intel.com, Bruce Richardson Date: Mon, 25 Nov 2019 14:55:55 +0000 Message-Id: <20191125145559.29251-5-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191125145559.29251-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191125145559.29251-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 4/8] doc: remove reference to old versions of FreeBSD 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" FreeBSD 10 is now EOL and all testing with DPDK takes place on BSD versions 11 and 12, so we can just remove the note. The BSD ports are supported on all non-EOL versions of BSD. Signed-off-by: Bruce Richardson Acked-by: Anatoly Burakov --- doc/guides/freebsd_gsg/install_from_ports.rst | 6 ------ 1 file changed, 6 deletions(-) diff --git a/doc/guides/freebsd_gsg/install_from_ports.rst b/doc/guides/freebsd_gsg/install_from_ports.rst index a895d6180..4b0447584 100644 --- a/doc/guides/freebsd_gsg/install_from_ports.rst +++ b/doc/guides/freebsd_gsg/install_from_ports.rst @@ -11,12 +11,6 @@ install it from the ports collection. Details of getting and using the ports collection are documented in the `FreeBSD Handbook `_. -.. note:: - - Testing has been performed using FreeBSD 10.0-RELEASE (x86_64) and requires the - installation of the kernel sources, which should be included during the - installation of FreeBSD. - Installing the DPDK FreeBSD Port -------------------------------- From patchwork Mon Nov 25 14:55:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63282 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 EAABBA04C2; Mon, 25 Nov 2019 15:57:00 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D160A1BE80; Mon, 25 Nov 2019 15:56:34 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 9EB9128EE for ; Mon, 25 Nov 2019 15:56:33 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2019 06:56:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,241,1571727600"; d="scan'208";a="239560919" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 25 Nov 2019 06:56:32 -0800 From: Bruce Richardson To: john.mcnamara@intel.com Cc: dev@dpdk.org, anatoly.burakov@intel.com, Bruce Richardson Date: Mon, 25 Nov 2019 14:55:56 +0000 Message-Id: <20191125145559.29251-6-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191125145559.29251-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191125145559.29251-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 5/8] doc: update examples output in FreeBSD GSG 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" The output of running the helloworld example on FreeBSD was a little out-of-date and can be shortened by using the latest version of DPDK. Update appropriately. Signed-off-by: Bruce Richardson Acked-by: Anatoly Burakov --- doc/guides/freebsd_gsg/install_from_ports.rst | 56 ++++++++----------- 1 file changed, 22 insertions(+), 34 deletions(-) diff --git a/doc/guides/freebsd_gsg/install_from_ports.rst b/doc/guides/freebsd_gsg/install_from_ports.rst index 4b0447584..29f16cc6c 100644 --- a/doc/guides/freebsd_gsg/install_from_ports.rst +++ b/doc/guides/freebsd_gsg/install_from_ports.rst @@ -84,48 +84,36 @@ compiled and run as below: INSTALL-APP helloworld INSTALL-MAP helloworld.map - sudo ./build/helloworld -l 0-3 -n 2 - - EAL: Contigmem driver has 2 buffers, each of size 1GB + sudo ./build//helloworld -l 0-3 EAL: Sysctl reports 8 cpus - EAL: Detected lcore 0 - EAL: Detected lcore 1 - EAL: Detected lcore 2 - EAL: Detected lcore 3 - EAL: Support maximum 64 logical core(s) by configuration. - EAL: Detected 4 lcore(s) - EAL: Setting up physically contiguous memory... - EAL: Mapped memory segment 1 @ 0x802400000: len 1073741824 - EAL: Mapped memory segment 2 @ 0x842400000: len 1073741824 - EAL: WARNING: clock_gettime cannot use CLOCK_MONOTONIC_RAW and HPET - is not available - clock timings may be less accurate. - EAL: TSC frequency is ~3569023 KHz - EAL: PCI scan found 24 devices - EAL: Master core 0 is ready (tid=0x802006400) - EAL: Core 1 is ready (tid=0x802006800) - EAL: Core 3 is ready (tid=0x802007000) - EAL: Core 2 is ready (tid=0x802006c00) + EAL: Detected 8 lcore(s) + EAL: Detected 1 NUMA nodes + EAL: Multi-process socket /var/run/dpdk/rte/mp_socket + EAL: Selected IOVA mode 'PA' + EAL: Contigmem driver has 2 buffers, each of size 1GB + EAL: Mapped memory segment 0 @ 0x1040000000: physaddr:0x180000000, len 1073741824 + EAL: Mapped memory segment 1 @ 0x1080000000: physaddr:0x1c0000000, len 1073741824 + EAL: PCI device 0000:00:19.0 on NUMA socket 0 + EAL: probe driver: 8086:153b net_e1000_em + EAL: 0000:00:19.0 not managed by UIO driver, skipping EAL: PCI device 0000:01:00.0 on NUMA socket 0 - EAL: probe driver: 8086:10fb rte_ixgbe_pmd - EAL: PCI memory mapped at 0x80074a000 - EAL: PCI memory mapped at 0x8007ca000 + EAL: probe driver: 8086:1572 net_i40e + EAL: 0000:01:00.0 not managed by UIO driver, skipping EAL: PCI device 0000:01:00.1 on NUMA socket 0 - EAL: probe driver: 8086:10fb rte_ixgbe_pmd - EAL: PCI memory mapped at 0x8007ce000 - EAL: PCI memory mapped at 0x80084e000 - EAL: PCI device 0000:02:00.0 on NUMA socket 0 - EAL: probe driver: 8086:10fb rte_ixgbe_pmd - EAL: PCI memory mapped at 0x800852000 - EAL: PCI memory mapped at 0x8008d2000 - EAL: PCI device 0000:02:00.1 on NUMA socket 0 - EAL: probe driver: 8086:10fb rte_ixgbe_pmd - EAL: PCI memory mapped at 0x801b3f000 - EAL: PCI memory mapped at 0x8008d6000 + EAL: probe driver: 8086:1572 net_i40e + EAL: 0000:01:00.1 not managed by UIO driver, skipping + EAL: PCI device 0000:01:00.2 on NUMA socket 0 + EAL: probe driver: 8086:1572 net_i40e + EAL: 0000:01:00.2 not managed by UIO driver, skipping + EAL: PCI device 0000:01:00.3 on NUMA socket 0 + EAL: probe driver: 8086:1572 net_i40e + EAL: 0000:01:00.3 not managed by UIO driver, skipping hello from core 1 hello from core 2 hello from core 3 hello from core 0 + .. note:: To run a DPDK process as a non-root user, adjust the permissions on From patchwork Mon Nov 25 14:55:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63283 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 AF71AA04C2; Mon, 25 Nov 2019 15:57:09 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5AFE31BE8D; Mon, 25 Nov 2019 15:56:38 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 72CAC1BE8B for ; Mon, 25 Nov 2019 15:56:36 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2019 06:56:36 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,241,1571727600"; d="scan'208";a="239560934" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 25 Nov 2019 06:56:35 -0800 From: Bruce Richardson To: john.mcnamara@intel.com Cc: dev@dpdk.org, anatoly.burakov@intel.com, Bruce Richardson Date: Mon, 25 Nov 2019 14:55:57 +0000 Message-Id: <20191125145559.29251-7-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191125145559.29251-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191125145559.29251-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 6/8] doc: add meson install instructions for FreeBSD 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" Update the FreeBSD GSG doc with instructions for installing using meson and ninja rather than make. Signed-off-by: Bruce Richardson Acked-by: Anatoly Burakov --- doc/guides/freebsd_gsg/build_dpdk.rst | 164 +++++++------------------- 1 file changed, 40 insertions(+), 124 deletions(-) diff --git a/doc/guides/freebsd_gsg/build_dpdk.rst b/doc/guides/freebsd_gsg/build_dpdk.rst index 7abd85aa5..c5d5379f6 100644 --- a/doc/guides/freebsd_gsg/build_dpdk.rst +++ b/doc/guides/freebsd_gsg/build_dpdk.rst @@ -6,147 +6,63 @@ Compiling the DPDK Target from Source ===================================== -System Requirements -------------------- +Prerequisites +------------- -The DPDK and its applications require the GNU make system (gmake) -to build on FreeBSD. Optionally, gcc may also be used in place of clang -to build the DPDK, in which case it too must be installed prior to -compiling the DPDK. The installation of these tools is covered in this -section. +The following FreeBSD packages are required to build DPDK: -Compiling the DPDK requires the FreeBSD kernel sources, which should be -included during the installation of FreeBSD on the development platform. -The DPDK also requires the use of FreeBSD ports to compile and function. +* meson +* ninja +* pkgconf -To use the FreeBSD ports system, it is required to update and extract the FreeBSD -ports tree by issuing the following commands: +These can be installed using (as root):: -.. code-block:: console - - portsnap fetch - portsnap extract - -If the environment requires proxies for external communication, these can be set -using: - -.. code-block:: console - - setenv http_proxy : - setenv ftp_proxy : - -The FreeBSD ports below need to be installed prior to building the DPDK. -In general these can be installed using the following set of commands:: - - cd /usr/ports/ - - make config-recursive - - make install - - make clean - -Each port location can be found using:: - - whereis - -The ports required and their locations are as follows: - -* dialog4ports: ``/usr/ports/ports-mgmt/dialog4ports`` - -* GNU make(gmake): ``/usr/ports/devel/gmake`` - -* coreutils: ``/usr/ports/sysutils/coreutils`` - -For compiling and using the DPDK with gcc, the compiler must be installed -from the ports collection: - -* gcc: version 4.9 is recommended ``/usr/ports/lang/gcc49``. - Ensure that ``CPU_OPTS`` is selected (default is OFF). - -When running the make config-recursive command, a dialog may be presented to the -user. For the installation of the DPDK, the default options were used. - -.. note:: + pkg install meson pkgconf - To avoid multiple dialogs being presented to the user during make install, - it is advisable before running the make install command to re-run the - make config-recursive command until no more dialogs are seen. +To compile the required kernel modules for memory management and working +with physical NIC devices, the kernel sources for FreeBSD also +need to be installed. If not already present on the system, these can be +installed via commands like the following, for FreeBSD 12.1 on x86_64:: + fetch http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.1-RELEASE/src.txz + tar -C / -xJvf src.txz -Install the DPDK and Browse Sources ------------------------------------ +To enable the telemetry library in DPDK, the jansson library also needs to +be installed, and can be installed via:: -First, uncompress the archive and move to the DPDK source directory: + pkg install jansson -.. code-block:: console - - unzip DPDK-.zip - cd DPDK- - -The DPDK is composed of several directories: - -* lib: Source code of DPDK libraries - -* app: Source code of DPDK applications (automatic tests) - -* examples: Source code of DPDK applications - -* config, buildtools, mk: Framework-related makefiles, scripts and configuration - -Installation of the DPDK Target Environments --------------------------------------------- - -The format of a DPDK target is:: - - ARCH-MACHINE-EXECENV-TOOLCHAIN - -Where: +Individual drivers may have additional requirements. Consult the relevant +driver guide for any driver-specific requirements of interest. -* ``ARCH`` is: ``x86_64`` +Building DPDK +------------- -* ``MACHINE`` is: ``native`` +The following commands can be used to build and install DPDK on a system. +The final, install, step generally needs to be run as root:: -* ``EXECENV`` is: ``freebsd`` + meson build + cd build + ninja + ninja install -* ``TOOLCHAIN`` is: ``gcc`` | ``clang`` - -The configuration files for the DPDK targets can be found in the DPDK/config -directory in the form of:: - - defconfig_ARCH-MACHINE-EXECENV-TOOLCHAIN +This will install the DPDK libraries and drivers to `/usr/local/lib` with a +pkg-config file `libdpdk.pc` installed to `/usr/local/lib/pkgconfig`. The +DPDK test applications, such as `dpdk-testpmd` are installed to +`/usr/local/bin`. To use these applications, it is recommended that the +`contigmem` and `nic_uio` kernel modules be loaded first, as described in +the next section. .. note:: - Configuration files are provided with the ``RTE_MACHINE`` optimization level set. - Within the configuration files, the ``RTE_MACHINE`` configuration value is set - to native, which means that the compiled software is tuned for the platform - on which it is built. For more information on this setting, and its - possible values, see the *DPDK Programmers Guide*. - -To make the target, use ``gmake install T=``. - -For example to compile for FreeBSD use: - -.. code-block:: console - - gmake install T=x86_64-native-freebsd-clang - -.. note:: - - If the compiler binary to be used does not correspond to that given in the - TOOLCHAIN part of the target, the compiler command may need to be explicitly - specified. For example, if compiling for gcc, where the gcc binary is called - gcc4.9, the command would need to be ``gmake install T= CC=gcc4.9``. - -Browsing the Installed DPDK Environment Target ----------------------------------------------- + It is recommended that pkg-config be used to query information + about the compiler and linker flags needed to build applications + against DPDK. In some cases, the path `/usr/local/lib/pkgconfig` + may not be in the default search paths for `.pc` files, which means + that queries for DPDK information may fail. This can be fixed by + setting the appropriate path in `PKG_CONFIG_PATH` environment + variable. -Once a target is created, it contains all the 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. A kmod directory is also present that -contains the kernel modules to install. .. _loading_contigmem: From patchwork Mon Nov 25 14:55:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63284 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 45F06A04C2; Mon, 25 Nov 2019 15:57:18 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E1DAF1BE97; Mon, 25 Nov 2019 15:56:40 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 0696F1BE93 for ; Mon, 25 Nov 2019 15:56:38 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2019 06:56:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,241,1571727600"; d="scan'208";a="239560941" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 25 Nov 2019 06:56:37 -0800 From: Bruce Richardson To: john.mcnamara@intel.com Cc: dev@dpdk.org, anatoly.burakov@intel.com, Bruce Richardson Date: Mon, 25 Nov 2019 14:55:58 +0000 Message-Id: <20191125145559.29251-8-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191125145559.29251-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191125145559.29251-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 7/8] doc: update documentation on build and running FreeBSD apps 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" Update the documentation on building and running apps on FreeBSD, taking account of having used meson for building. We can also update the section on the command-line parameters, rather than claiming to be a complete list of parameters, it should describe how to get the complete list and only cover a few important ones. Signed-off-by: Bruce Richardson Acked-by: Anatoly Burakov --- doc/guides/freebsd_gsg/build_sample_apps.rst | 118 +++++-------------- 1 file changed, 27 insertions(+), 91 deletions(-) diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst index 0c1b9cb79..2a68f5fc3 100644 --- a/doc/guides/freebsd_gsg/build_sample_apps.rst +++ b/doc/guides/freebsd_gsg/build_sample_apps.rst @@ -12,68 +12,37 @@ environment. It also provides a pointer to where sample applications are stored. Compiling a Sample Application ------------------------------ -Once a DPDK target environment directory has been created (such as -``x86_64-native-freebsd-clang``), it contains all libraries and header files required -to build an application. +The DPDK example applications make use of the pkg-config file installed on +the system when DPDK is installed, and so can be built using GNU make. -When compiling an application in the FreeBSD environment on the DPDK, -the following variables must be exported: - -* ``RTE_SDK`` - Points to the DPDK installation directory. - -* ``RTE_TARGET`` - Points to the DPDK target environment directory. - For FreeBSD, this is the ``x86_64-native-freebsd-clang`` or - ``x86_64-native-freebsd-gcc`` directory. - -The following is an example of creating the ``helloworld`` application, which runs -in the DPDK FreeBSD environment. While the example demonstrates compiling -using gcc version 4.9, compiling with clang will be similar, except that the ``CC=`` -parameter can probably be omitted. The ``helloworld`` example may be found in the -``${RTE_SDK}/examples`` directory. - -The directory contains the ``main.c`` file. This file, when combined with the -libraries in the DPDK target environment, calls the various functions to -initialize the DPDK environment, then launches an entry point (dispatch -application) for each core to be utilized. By default, the binary is generated -in the build directory. - -.. code-block:: console - - setenv RTE_SDK /home/user/DPDK - cd $(RTE_SDK) - cd examples/helloworld/ - setenv RTE_SDK $HOME/DPDK - setenv RTE_TARGET x86_64-native-freebsd-gcc - - gmake CC=gcc49 - CC main.o - LD helloworld - INSTALL-APP helloworld - INSTALL-MAP helloworld.map +.. note:: - ls build/app - helloworld helloworld.map + BSD make cannot be used to compile the DPDK example applications. GNU + make can be installed using `pkg install gmake` if not already installed + on the FreeBSD system. -.. note:: +The following shows how to compile the helloworld example app, following +the installation of DPDK using `ninja install` as described previously:: - In the above example, ``helloworld`` was in the directory structure of the - DPDK. However, it could have been located outside the directory - structure to keep the DPDK structure intact. In the following case, - the ``helloworld`` application is copied to a new directory as a new starting - point. + $ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig -.. code-block:: console + $ cd examples/helloworld/ - setenv RTE_SDK /home/user/DPDK - cp -r $(RTE_SDK)/examples/helloworld my_rte_app - cd my_rte_app/ - setenv RTE_TARGET x86_64-native-freebsd-gcc + $ gmake + cc -O3 -I/usr/local/include -include rte_config.h -march=native + -D__BSD_VISIBLE main.c -o build/helloworld-shared + -L/usr/local/lib -lrte_telemetry -lrte_bpf -lrte_flow_classify + -lrte_pipeline -lrte_table -lrte_port -lrte_fib -lrte_ipsec + -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rib + -lrte_rcu -lrte_rawdev -lrte_pdump -lrte_member -lrte_lpm + -lrte_latencystats -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro + -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev + -lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev + -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_cmdline + -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf + -lrte_mempool -lrte_ring -lrte_eal -lrte_kvargs + ln -sf helloworld-shared build/helloworld - gmake CC=gcc49 - CC main.o - LD helloworld - INSTALL-APP helloworld - INSTALL-MAP helloworld.map .. _running_sample_app: @@ -88,29 +57,15 @@ Running a Sample Application Abstraction Layer (EAL) library, which provides some options that are generic to every DPDK application. -The following is the list of options that can be given to the EAL: - -.. code-block:: console - - ./rte-app -l CORELIST [-n NUM] [-b ] \ - [-r NUM] [-v] [--proc-type ] - -.. note:: - - EAL has a common interface between all operating systems and is based on the - Linux notation for PCI devices. For example, a FreeBSD device selector of - ``pci0:2:0:1`` is referred to as ``02:00.1`` in EAL. - -The EAL options for FreeBSD are as follows: +A large number of options can be given to the EAL when running an +application. A full list of options can be got by passing `--help` to a +DPDK application. Some of the EAL options for FreeBSD are as follows: * ``-c COREMASK`` or ``-l CORELIST``: A hexadecimal bit mask of the cores to run on. Note that core numbering can change between platforms and should be determined beforehand. The corelist is a list of cores to use instead of a core mask. -* ``-n NUM``: - Number of memory channels per processor socket. - * ``-b ``: Blacklisting of ports; prevent EAL from using specified PCI device (multiple ``-b`` options are allowed). @@ -119,15 +74,9 @@ The EAL options for FreeBSD are as follows: Use the specified Ethernet device(s) only. Use comma-separate ``[domain:]bus:devid.func`` values. Cannot be used with ``-b`` option. -* ``-r NUM``: - Number of memory ranks. - * ``-v``: Display version information on startup. -* ``--proc-type``: - The type of process instance. - * ``-m MB``: Memory to allocate from hugepages, regardless of processor socket. @@ -147,19 +96,6 @@ Other options, specific to Linux and are not supported under FreeBSD are as foll The ``-c`` or ``-l`` option is mandatory; the others are optional. -Copy the DPDK application binary to your target, then run the application -as follows (assuming the platform has four memory channels, and that cores 0-3 -are present and are to be used for running the application):: - - ./helloworld -l 0-3 -n 4 - -.. note:: - - The ``--proc-type`` and ``--file-prefix`` EAL options are used for running multiple - DPDK processes. See the "Multi-process Sample Application" chapter - in the *DPDK Sample Applications User Guide and the DPDK - Programmers Guide* for more details. - .. _running_non_root: Running DPDK Applications Without Root Privileges From patchwork Mon Nov 25 14:55:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63285 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 2055CA04C2; Mon, 25 Nov 2019 15:57:29 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 037992BCE; Mon, 25 Nov 2019 15:56:45 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 532182BCE for ; Mon, 25 Nov 2019 15:56:43 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2019 06:56:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,241,1571727600"; d="scan'208";a="239560953" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 25 Nov 2019 06:56:41 -0800 From: Bruce Richardson To: john.mcnamara@intel.com Cc: dev@dpdk.org, anatoly.burakov@intel.com, Bruce Richardson Date: Mon, 25 Nov 2019 14:55:59 +0000 Message-Id: <20191125145559.29251-9-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191125145559.29251-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191125145559.29251-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 8/8] doc: drop EAL command-line reference from FreeBSD GSG 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" The EAL command-line reference section duplicated material covered in a previous chapter, was out of date, and generally is unnecessary as options are best queried directly by passing "--help" to a DPDK binary. Therefore we can drop this section to avoid having to try and keep it up-to-date in the future. Signed-off-by: Bruce Richardson --- .../freebsd_gsg/freebsd_eal_parameters.rst | 20 ------------------- doc/guides/freebsd_gsg/index.rst | 1 - 2 files changed, 21 deletions(-) delete mode 100644 doc/guides/freebsd_gsg/freebsd_eal_parameters.rst diff --git a/doc/guides/freebsd_gsg/freebsd_eal_parameters.rst b/doc/guides/freebsd_gsg/freebsd_eal_parameters.rst deleted file mode 100644 index fba467a2c..000000000 --- a/doc/guides/freebsd_gsg/freebsd_eal_parameters.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. SPDX-License-Identifier: BSD-3-Clause - Copyright(c) 2018 Intel Corporation. - -EAL parameters -============== - -This document contains a list of all EAL parameters. These parameters can be -used by any DPDK application running on FreeBSD. - -Common EAL parameters ---------------------- - -The following EAL parameters are common to all platforms supported by DPDK. - -.. include:: ../linux_gsg/eal_args.include.rst - -FreeBSD-specific EAL parameters -------------------------------- - -There are currently no FreeBSD-specific EAL command-line parameters available. diff --git a/doc/guides/freebsd_gsg/index.rst b/doc/guides/freebsd_gsg/index.rst index 9af5988dc..fdb4df32e 100644 --- a/doc/guides/freebsd_gsg/index.rst +++ b/doc/guides/freebsd_gsg/index.rst @@ -14,4 +14,3 @@ Getting Started Guide for FreeBSD install_from_ports build_dpdk build_sample_apps - freebsd_eal_parameters