From patchwork Thu Nov 28 16:33:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63382 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 6AF25A04DD; Thu, 28 Nov 2019 17:34:08 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 860362BF9; Thu, 28 Nov 2019 17:34:02 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 426EF2B96 for ; Thu, 28 Nov 2019 17:34:00 +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 orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 08:33:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,253,1571727600"; d="scan'208";a="240770253" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 28 Nov 2019 08:33:58 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: thomas@monjalon.net, Bruce Richardson Date: Thu, 28 Nov 2019 16:33:46 +0000 Message-Id: <20191128163350.24076-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128163350.24076-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191128163350.24076-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 1/5] 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 --- V3: updated on feedback from Thomas * added some compiler version requirements * added package names for installing meson/ninja from distros * fixed typo * added link to network drivers guide --- doc/guides/linux_gsg/sys_reqs.rst | 68 ++++++++++++++++--------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst index d2359058b..7c47ec04c 100644 --- a/doc/guides/linux_gsg/sys_reqs.rst +++ b/doc/guides/linux_gsg/sys_reqs.rst @@ -37,49 +37,32 @@ 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`` (version 4.9+) or ``clang`` (version 3.4+). -* coreutils: ``cmp``, ``sed``, ``grep``, ``arch``, etc. + * For RHEL/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 (version 0.47.1+) and ninja - * glibc.ppc64, libgcc.ppc64, libstdc++.ppc64 and glibc-devel.ppc64 for IBM ppc_64; + * ``meson`` & ``ninja-build`` packages in most Linux distributions - .. 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+. + * If the packaged version is below the minimum version, the latest versions + can be installed from Python's "pip" repository: ``pip3 install meson ninja`` * Library for handling NUMA (Non Uniform Memory Access). - * numactl-devel in Red Hat/Fedora; - - * libnuma-dev in Debian/Ubuntu; - - .. note:: + * ``numactl-devel`` in RHEL/Fedora; - 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. + * ``libnuma-dev`` in Debian/Ubuntu; -* 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 +79,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 by 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. :doc:`../nics/index` Running DPDK Applications From patchwork Thu Nov 28 16:33:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63383 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 139E4A04DD; Thu, 28 Nov 2019 17:34:18 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2C6A64C99; Thu, 28 Nov 2019 17:34:06 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 55AB13195 for ; Thu, 28 Nov 2019 17:34:03 +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 orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 08:34:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,253,1571727600"; d="scan'208";a="240770278" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 28 Nov 2019 08:34:01 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: thomas@monjalon.net, Bruce Richardson , Anatoly Burakov Date: Thu, 28 Nov 2019 16:33:47 +0000 Message-Id: <20191128163350.24076-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128163350.24076-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191128163350.24076-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 2/5] 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 Thu Nov 28 16:33:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63384 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 463C1A04DD; Thu, 28 Nov 2019 17:34:29 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 627C21BF6F; Thu, 28 Nov 2019 17:34:09 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id D8CDD3195 for ; Thu, 28 Nov 2019 17:34:05 +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 orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 08:34:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,253,1571727600"; d="scan'208";a="240770287" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 28 Nov 2019 08:34:04 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: thomas@monjalon.net, Bruce Richardson , Gavin Hu Date: Thu, 28 Nov 2019 16:33:48 +0000 Message-Id: <20191128163350.24076-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128163350.24076-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191128163350.24076-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 3/5] 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 Thu Nov 28 16:33:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63385 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 C93C3A04DD; Thu, 28 Nov 2019 17:34:37 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2E4231BF75; Thu, 28 Nov 2019 17:34:11 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 1D0C28F96 for ; Thu, 28 Nov 2019 17:34:07 +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 orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 08:34:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,253,1571727600"; d="scan'208";a="240770293" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 28 Nov 2019 08:34:06 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: thomas@monjalon.net, Bruce Richardson , Anatoly Burakov Date: Thu, 28 Nov 2019 16:33:49 +0000 Message-Id: <20191128163350.24076-5-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128163350.24076-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191128163350.24076-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 4/5] 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 Thu Nov 28 16:33:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 63386 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 E1F14A04DD; Thu, 28 Nov 2019 17:34:46 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EE9991BF7A; Thu, 28 Nov 2019 17:34:13 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 8C47F1BF74 for ; Thu, 28 Nov 2019 17:34:10 +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 orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 08:34:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,253,1571727600"; d="scan'208";a="240770307" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 28 Nov 2019 08:34:08 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: thomas@monjalon.net, Bruce Richardson , Anatoly Burakov Date: Thu, 28 Nov 2019 16:33:50 +0000 Message-Id: <20191128163350.24076-6-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128163350.24076-1-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191128163350.24076-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 5/5] 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