X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fbuild_and_test.rst;h=e8b29c2277e2f7a1982c707e968065fff91ea461;hb=3da4060a3070e9bb7bbc2ee75224b340d4460f25;hp=f99e019ff31c64fe8d02032b77f02d56ccf87b76;hpb=487eec3401b7a1664982f39da139980a4f5b3adc;p=dpdk.git diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst index f99e019ff3..e8b29c2277 100644 --- a/doc/guides/nics/build_and_test.rst +++ b/doc/guides/nics/build_and_test.rst @@ -19,45 +19,28 @@ information on how to build and run testpmd. Driver Compilation ------------------ -To compile a PMD for a platform, run make with appropriate target as shown below. -Use "make" command in Linux and "gmake" in FreeBSD. This will also build testpmd. +To compile a PMD for a platform, build DPDK +as described in the "Getting Started Guide" for your platform. +This will also build testpmd. -To check available targets: +Detailed instructions are available +in the :doc:`meson build guide <../prog_guide/build-sdk-meson>`. -.. code-block:: console +The ethdev layer supports below build options for debug purpose: - cd - make showconfigs +- ``RTE_ETHDEV_DEBUG_RX`` (default **disabled**) -Example output: + Build with debug code on Rx path. -.. code-block:: console +- ``RTE_ETHDEV_DEBUG_TX`` (default **disabled**) - arm-armv7a-linux-gcc - arm64-armv8a-linux-gcc - arm64-dpaa-linux-gcc - arm64-thunderx-linux-gcc - arm64-xgene1-linux-gcc - i686-native-linux-gcc - i686-native-linux-icc - ppc_64-power8-linux-gcc - x86_64-native-freebsd-clang - x86_64-native-freebsd-gcc - x86_64-native-linux-clang - x86_64-native-linux-gcc - x86_64-native-linux-icc - x86_x32-native-linux-gcc + Build with debug code on Tx path. -To compile a PMD for Linux x86_64 gcc target, run the following "make" command: +.. Note:: -.. code-block:: console - - make install T=x86_64-native-linux-gcc - -Use ARM (ThunderX, DPAA, X-Gene) or PowerPC target for respective platform. - -For more information, refer to the :ref:`Getting Started Guide for Linux ` -or :ref:`Getting Started Guide for FreeBSD ` depending on your platform. + The ethdev library use above options to wrap debug code to trace invalid parameters + on data path APIs, so performance downgrade is expected when enabling those options. + Each PMD can decide to reuse them to wrap their own debug code in the Rx/Tx path. Running testpmd in Linux ------------------------ @@ -97,12 +80,18 @@ This section demonstrates how to setup and run ``testpmd`` in Linux. Hugepagesize: 2048 kB + Mount and request above can be achieved simply with this tool: + + .. code-block:: console + + dpdk-hugepages.py --setup 2G + #. Load ``igb_uio`` or ``vfio-pci`` driver: .. code-block:: console modprobe uio - insmod ./x86_64-native-linux-gcc/kmod/igb_uio.ko + insmod igb_uio.ko or @@ -139,7 +128,7 @@ This section demonstrates how to setup and run ``testpmd`` in Linux. .. code-block:: console - ./x86_64-native-linux-gcc/app/testpmd -l 0-3 -n 4 -- -i + .//app/dpdk-testpmd -l 0-3 -n 4 -- -i Successful execution will show initialization messages from EAL, PMD and testpmd application. A prompt will be displayed at the end for user commands