From 89c67ae2cba78c4d896d8b6481058e02c727b5ac Mon Sep 17 00:00:00 2001 From: Ciara Power Date: Mon, 21 Sep 2020 14:59:17 +0100 Subject: [PATCH] doc: remove references to make from prog guide Make is no longer supported for compiling DPDK, references are now removed in the documentation. Signed-off-by: Ciara Power Reviewed-by: Kevin Laatz --- doc/guides/prog_guide/env_abstraction_layer.rst | 17 ++++++----------- doc/guides/prog_guide/graph_lib.rst | 6 ++---- .../prog_guide/ip_fragment_reassembly_lib.rst | 5 ----- doc/guides/prog_guide/kernel_nic_interface.rst | 14 +++++++------- .../link_bonding_poll_mode_drv_lib.rst | 15 ++++++++------- doc/guides/prog_guide/lto.rst | 12 +----------- doc/guides/prog_guide/mbuf_lib.rst | 4 ++-- doc/guides/prog_guide/mempool_lib.rst | 7 +++---- doc/guides/prog_guide/profile_app.rst | 17 +++-------------- doc/guides/prog_guide/qos_framework.rst | 10 +--------- doc/guides/prog_guide/rcu_lib.rst | 7 +++---- doc/guides/prog_guide/trace_lib.rst | 3 +-- .../prog_guide/writing_efficient_code.rst | 3 +-- 13 files changed, 38 insertions(+), 82 deletions(-) diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst index f64ae953d1..936c885081 100644 --- a/doc/guides/prog_guide/env_abstraction_layer.rst +++ b/doc/guides/prog_guide/env_abstraction_layer.rst @@ -201,16 +201,16 @@ each segment is strictly one physical page. It is possible to change the amount of virtual memory being preallocated at startup by editing the following config variables: -* ``CONFIG_RTE_MAX_MEMSEG_LISTS`` controls how many segment lists can DPDK have -* ``CONFIG_RTE_MAX_MEM_MB_PER_LIST`` controls how much megabytes of memory each +* ``RTE_MAX_MEMSEG_LISTS`` controls how many segment lists can DPDK have +* ``RTE_MAX_MEM_MB_PER_LIST`` controls how much megabytes of memory each segment list can address -* ``CONFIG_RTE_MAX_MEMSEG_PER_LIST`` controls how many segments each segment can +* ``RTE_MAX_MEMSEG_PER_LIST`` controls how many segments each segment can have -* ``CONFIG_RTE_MAX_MEMSEG_PER_TYPE`` controls how many segments each memory type +* ``RTE_MAX_MEMSEG_PER_TYPE`` controls how many segments each memory type can have (where "type" is defined as "page size + NUMA node" combination) -* ``CONFIG_RTE_MAX_MEM_MB_PER_TYPE`` controls how much megabytes of memory each +* ``RTE_MAX_MEM_MB_PER_TYPE`` controls how much megabytes of memory each memory type can address -* ``CONFIG_RTE_MAX_MEM_MB`` places a global maximum on the amount of memory +* ``RTE_MAX_MEM_MB`` places a global maximum on the amount of memory DPDK can reserve Normally, these options do not need to be changed. @@ -715,11 +715,6 @@ However, they can be used in configuration code. Refer to the rte_malloc() function description in the *DPDK API Reference* manual for more information. -Cookies -~~~~~~~ - -When CONFIG_RTE_MALLOC_DEBUG is enabled, the allocated memory contains -overwrite protection fields to help identify buffer overflows. Alignment and NUMA Constraints ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/prog_guide/graph_lib.rst b/doc/guides/prog_guide/graph_lib.rst index 669d77c740..c922d10f3d 100644 --- a/doc/guides/prog_guide/graph_lib.rst +++ b/doc/guides/prog_guide/graph_lib.rst @@ -45,13 +45,11 @@ Performance tuning parameters ----------------------------- - Test with various burst size values (256, 128, 64, 32) using - CONFIG_RTE_GRAPH_BURST_SIZE config option. + RTE_GRAPH_BURST_SIZE config option. The testing shows, on x86 and arm64 servers, The sweet spot is 256 burst size. While on arm64 embedded SoCs, it is either 64 or 128. -- Disable node statistics (using ``CONFIG_RTE_LIBRTE_GRAPH_STATS`` config option) +- Disable node statistics (using ``RTE_LIBRTE_GRAPH_STATS`` config option) if not needed. -- Use arm64 optimized memory copy for arm64 architecture by - selecting ``CONFIG_RTE_ARCH_ARM64_MEMCPY``. Programming model ----------------- diff --git a/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst b/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst index 6ac1bba649..314d4adbb8 100644 --- a/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst +++ b/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst @@ -103,8 +103,3 @@ Debug logging and Statistics Collection The RTE_LIBRTE_IP_FRAG_TBL_STAT config macro controls statistics collection for the Fragment Table. This macro is not enabled by default. - -The RTE_LIBRTE_IP_FRAG_DEBUG controls debug logging of IP fragments processing and reassembling. -This macro is disabled by default. -Note that while logging contains a lot of detailed information, -it slows down packet processing and might cause the loss of a lot of packets. diff --git a/doc/guides/prog_guide/kernel_nic_interface.rst b/doc/guides/prog_guide/kernel_nic_interface.rst index 32d09ccf82..de5d75bd4c 100644 --- a/doc/guides/prog_guide/kernel_nic_interface.rst +++ b/doc/guides/prog_guide/kernel_nic_interface.rst @@ -65,7 +65,7 @@ disabled, and the default carrier state of KNI interfaces is set to *off*. .. code-block:: console - # insmod kmod/rte_kni.ko + # insmod /kernel/linux/kni/rte_kni.ko .. _kni_loopback_mode: @@ -77,14 +77,14 @@ by specifying the ``lo_mode`` parameter: .. code-block:: console - # insmod kmod/rte_kni.ko lo_mode=lo_mode_fifo + # insmod /kernel/linux/kni/rte_kni.ko lo_mode=lo_mode_fifo The ``lo_mode_fifo`` loopback option will loop back ring enqueue/dequeue operations in kernel space. .. code-block:: console - # insmod kmod/rte_kni.ko lo_mode=lo_mode_fifo_skb + # insmod /kernel/linux/kni/rte_kni.ko lo_mode=lo_mode_fifo_skb The ``lo_mode_fifo_skb`` loopback option will loop back ring enqueue/dequeue operations and sk buffer copies in kernel space. @@ -105,7 +105,7 @@ Single kernel thread mode is enabled as follows: .. code-block:: console - # insmod kmod/rte_kni.ko kthread_mode=single + # insmod /kernel/linux/kni/rte_kni.ko kthread_mode=single This mode will create only one kernel thread for all KNI interfaces to receive data on the kernel side. By default, this kernel thread is not @@ -122,7 +122,7 @@ kernel thread mode is enabled as follows: .. code-block:: console - # insmod kmod/rte_kni.ko kthread_mode=multiple + # insmod /kernel/linux/kni/rte_kni.ko kthread_mode=multiple This mode will create a separate kernel thread for each KNI interface to receive data on the kernel side. The core affinity of each ``kni_thread`` @@ -163,13 +163,13 @@ To set the default carrier state to *on*: .. code-block:: console - # insmod kmod/rte_kni.ko carrier=on + # insmod /kernel/linux/kni/rte_kni.ko carrier=on To set the default carrier state to *off*: .. code-block:: console - # insmod kmod/rte_kni.ko carrier=off + # insmod /kernel/linux/kni/rte_kni.ko carrier=off If the ``carrier`` parameter is not specified, the default carrier state of KNI interfaces will be set to *off*. diff --git a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst index 2459fd243e..244dca56c4 100644 --- a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst +++ b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst @@ -28,8 +28,9 @@ bonded device and its slave devices. .. note:: The Link Bonding PMD Library is enabled by default in the build - configuration files, the library can be disabled by setting - ``CONFIG_RTE_LIBRTE_PMD_BOND=n`` and recompiling the DPDK. + configuration, the library can be disabled using the meson option + "-Ddisable_drivers=net/bond". + Link Bonding Modes Overview --------------------------- @@ -377,7 +378,7 @@ Device names and bonding options must be separated by commas as shown below: .. code-block:: console - $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,bond_opt0=..,bond opt1=..'--vdev 'net_bonding1,bond _opt0=..,bond_opt1=..' + .//app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,bond_opt0=..,bond opt1=..'--vdev 'net_bonding1,bond _opt0=..,bond_opt1=..' Link Bonding EAL Options ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -477,22 +478,22 @@ Create a bonded device in round robin mode with two slaves specified by their PC .. code-block:: console - $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0,slave=0000:0a:00.01,slave=0000:04:00.00' -- --port-topology=chained + .//app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0,slave=0000:0a:00.01,slave=0000:04:00.00' -- --port-topology=chained Create a bonded device in round robin mode with two slaves specified by their PCI address and an overriding MAC address: .. code-block:: console - $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0,slave=0000:0a:00.01,slave=0000:04:00.00,mac=00:1e:67:1d:fd:1d' -- --port-topology=chained + .//app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0,slave=0000:0a:00.01,slave=0000:04:00.00,mac=00:1e:67:1d:fd:1d' -- --port-topology=chained Create a bonded device in active backup mode with two slaves specified, and a primary slave specified by their PCI addresses: .. code-block:: console - $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=1,slave=0000:0a:00.01,slave=0000:04:00.00,primary=0000:0a:00.01' -- --port-topology=chained + .//app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=1,slave=0000:0a:00.01,slave=0000:04:00.00,primary=0000:0a:00.01' -- --port-topology=chained Create a bonded device in balance mode with two slaves specified by their PCI addresses, and a transmission policy of layer 3 + 4 forwarding: .. code-block:: console - $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=2,slave=0000:0a:00.01,slave=0000:04:00.00,xmit_policy=l34' -- --port-topology=chained + .//app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=2,slave=0000:0a:00.01,slave=0000:04:00.00,xmit_policy=l34' -- --port-topology=chained diff --git a/doc/guides/prog_guide/lto.rst b/doc/guides/prog_guide/lto.rst index 277a6f1090..f79c449598 100644 --- a/doc/guides/prog_guide/lto.rst +++ b/doc/guides/prog_guide/lto.rst @@ -26,17 +26,7 @@ need to explicitly initialize variable in order to silence the compiler. Please note that turning LTO on causes considerable extension of build time. -When using make based build, link time optimization can be enabled for -the whole DPDK by setting: - -.. code-block:: console - - CONFIG_RTE_ENABLE_LTO=y - -in config file. - -For the meson based build it can be enabled by setting meson built-in -'b_lto' option: +Link time optimization can be enabled by setting meson built-in 'b_lto' option: .. code-block:: console diff --git a/doc/guides/prog_guide/mbuf_lib.rst b/doc/guides/prog_guide/mbuf_lib.rst index c3dbfb9221..2f190b40e4 100644 --- a/doc/guides/prog_guide/mbuf_lib.rst +++ b/doc/guides/prog_guide/mbuf_lib.rst @@ -266,8 +266,8 @@ can be found in several of the sample applications, for example, the IPv4 Multic Debug ----- -In debug mode (CONFIG_RTE_MBUF_DEBUG is enabled), -the functions of the mbuf library perform sanity checks before any operation (such as, buffer corruption, bad type, and so on). +In debug mode, the functions of the mbuf library perform sanity checks before any operation (such as, buffer corruption, +bad type, and so on). Use Cases --------- diff --git a/doc/guides/prog_guide/mempool_lib.rst b/doc/guides/prog_guide/mempool_lib.rst index e3e1f940be..f0bdcd3be1 100644 --- a/doc/guides/prog_guide/mempool_lib.rst +++ b/doc/guides/prog_guide/mempool_lib.rst @@ -17,14 +17,13 @@ This library is used by the :ref:`Mbuf Library `. Cookies ------- -In debug mode (CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG is enabled), cookies are added at the beginning and end of allocated blocks. +In debug mode, cookies are added at the beginning and end of allocated blocks. The allocated objects then contain overwrite protection fields to help debugging buffer overflows. Stats ----- -In debug mode (CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG is enabled), -statistics about get from/put in the pool are stored in the mempool structure. +In debug mode, statistics about get from/put in the pool are stored in the mempool structure. Statistics are per-lcore to avoid concurrent access to statistics counters. Memory Alignment Constraints on x86 architecture @@ -90,7 +89,7 @@ the speed at which a core can access its own cache for a specific memory pool wi The cache is composed of a small, per-core table of pointers and its length (used as a stack). This internal cache can be enabled or disabled at creation of the pool. -The maximum size of the cache is static and is defined at compilation time (CONFIG_RTE_MEMPOOL_CACHE_MAX_SIZE). +The maximum size of the cache is static and is defined at compilation time (RTE_MEMPOOL_CACHE_MAX_SIZE). :numref:`figure_mempool` shows a cache in operation. diff --git a/doc/guides/prog_guide/profile_app.rst b/doc/guides/prog_guide/profile_app.rst index e5d0e9079e..7093681983 100644 --- a/doc/guides/prog_guide/profile_app.rst +++ b/doc/guides/prog_guide/profile_app.rst @@ -33,14 +33,6 @@ Refer to the for details about application profiling. -Profiling with VTune -~~~~~~~~~~~~~~~~~~~~ - -To allow VTune attaching to the DPDK application, reconfigure and recompile -the DPDK with ``CONFIG_RTE_ETHDEV_RXTX_CALLBACKS`` and -``CONFIG_RTE_ETHDEV_PROFILE_WITH_VTUNE`` enabled. - - Profiling on ARM64 ------------------ @@ -76,8 +68,7 @@ cycle counter for user space access by configuring the PMU from the privileged mode (kernel space). By default the ``rte_rdtsc()`` implementation uses a portable ``cntvct_el0`` -scheme. Application can choose the PMU based implementation with -``CONFIG_RTE_ARM_EAL_RDTSC_USE_PMU``. +scheme. The example below shows the steps to configure the PMU based cycle counter on an ARMv8 machine. @@ -88,10 +79,8 @@ an ARMv8 machine. cd armv8_pmu_cycle_counter_el0 make sudo insmod pmu_el0_cycle_counter.ko - cd $DPDK_DIR - make config T=arm64-armv8a-linux-gcc - echo "CONFIG_RTE_ARM_EAL_RDTSC_USE_PMU=y" >> build/.config - make + +Please refer to :doc:`../linux_gsg/build_dpdk` for details on compiling DPDK with meson. .. warning:: diff --git a/doc/guides/prog_guide/qos_framework.rst b/doc/guides/prog_guide/qos_framework.rst index a159709450..4e4ea33ccb 100644 --- a/doc/guides/prog_guide/qos_framework.rst +++ b/doc/guides/prog_guide/qos_framework.rst @@ -1525,15 +1525,7 @@ Integration with the DPDK QoS Scheduler ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RED functionality in the DPDK QoS scheduler is disabled by default. -To enable it, use the DPDK configuration parameter: - -:: - - CONFIG_RTE_SCHED_RED=y - -This parameter must be set to y. -The parameter is found in the build configuration files in the DPDK/config directory, -for example, DPDK/config/common_linux. +The parameter is found in the build configuration files in the DPDK/config directory. RED configuration parameters are specified in the rte_red_params structure within the rte_sched_port_params structure that is passed to the scheduler on initialization. RED parameters are specified separately for four traffic classes and three packet colors (green, yellow and red) diff --git a/doc/guides/prog_guide/rcu_lib.rst b/doc/guides/prog_guide/rcu_lib.rst index d142d0c79d..d0aef3bc16 100644 --- a/doc/guides/prog_guide/rcu_lib.rst +++ b/doc/guides/prog_guide/rcu_lib.rst @@ -186,10 +186,9 @@ they entered a quiescent state. This API checks if a writer has triggered a quiescent state query and update the state accordingly. The ``rte_rcu_qsbr_lock()`` and ``rte_rcu_qsbr_unlock()`` are empty functions. -However, when ``CONFIG_RTE_LIBRTE_RCU_DEBUG`` is enabled, these APIs aid -in debugging issues. One can mark the access to shared data structures on the -reader side using these APIs. The ``rte_rcu_qsbr_quiescent()`` will check if -all the locks are unlocked. +However, these APIs can aid in debugging issues. One can mark the access to +shared data structures on the reader side using these APIs. The +``rte_rcu_qsbr_quiescent()`` will check if all the locks are unlocked. Resource reclamation framework for DPDK --------------------------------------- diff --git a/doc/guides/prog_guide/trace_lib.rst b/doc/guides/prog_guide/trace_lib.rst index 9bbfd165d8..fbadf9fde9 100644 --- a/doc/guides/prog_guide/trace_lib.rst +++ b/doc/guides/prog_guide/trace_lib.rst @@ -135,8 +135,7 @@ In order to avoid performance impact in fast path code, the library introduced the user must use ``RTE_TRACE_POINT_FP`` instead of ``RTE_TRACE_POINT``. ``RTE_TRACE_POINT_FP`` is compiled out by default and it can be enabled using -``CONFIG_RTE_ENABLE_TRACE_FP`` configuration parameter. -The ``enable_trace_fp`` option shall be used for the same for meson build. +the ``enable_trace_fp`` option for meson build. Event record mode ----------------- diff --git a/doc/guides/prog_guide/writing_efficient_code.rst b/doc/guides/prog_guide/writing_efficient_code.rst index 74f8067c7d..7baeaae431 100644 --- a/doc/guides/prog_guide/writing_efficient_code.rst +++ b/doc/guides/prog_guide/writing_efficient_code.rst @@ -258,8 +258,7 @@ For instance: Setting the Target CPU Type --------------------------- -The DPDK supports CPU microarchitecture-specific optimizations by means of CONFIG_RTE_MACHINE option -in the DPDK configuration file. +The DPDK supports CPU microarchitecture-specific optimizations by means of RTE_MACHINE option. The degree of optimization depends on the compiler's ability to optimize for a specific microarchitecture, therefore it is preferable to use the latest compiler versions whenever possible. -- 2.20.1