[v4] doc: add information for Rx burst functions in mlx5

Message ID 1606203856-5736-1-git-send-email-asafp@nvidia.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [v4] doc: add information for Rx burst functions in mlx5 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues
ci/travis-robot warning Travis build: failed

Commit Message

Asaf Penso Nov. 24, 2020, 7:44 a.m. UTC
  mlx5 pmd supports various rx_burst functions.
Each function is enabled differently and supports different features.

Add more comprehensive information about each function.

Signed-off-by: Asaf Penso <asafp@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>

---
v4: update the fallback for mprq burst functions
v3: checkpatch cleanup
v2: for mprq added note for rxqs_min_mprq
---
 doc/guides/nics/mlx5.rst | 59 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
  

Patch

diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 205e5ba..c5a0fee 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1645,3 +1645,62 @@  all flows with assistance of external tools.
    .. code-block:: console
 
        mlx_steering_dump.py -f <output_file>
+
+RX burst functions
+------------------
+
+This section describes the different rx_burst functions and provides an
+elaborated information.
+
+#. Function name             - rx_burst
+   How to enable             - rx_vec_en=0
+   Scatter support           - Yes
+   RX error recovery support - Yes
+   CQE compression support   - Yes
+   Large MTU support         - The maximal packet size should be set to be the
+                               same as the MTU size. The mbuf size can be
+                               according to the application needs since the
+                               pmd can perform the scatter.
+
+#. Function name             - rx_burst_vec
+   How to enable             - rx_vec_en=1 (default value)
+   Scatter support           - No
+   RX error recovery support - Supported only in case CQE compression is off
+   CQE compression support   - Yes
+   Large MTU support         - No. Scatter is not supported, so it means
+                               that the mbuf must be with the same size of
+                               the MTU. In this case, maximal packet size ==
+                               mbuf size == MTU size
+   Fallback                  - In scatter or LRO fallback to rx_burst
+   Notes                     - Improves CPU utilization for single-core and
+                               improves performance
+
+#. Function name             - rx_burst_mprq
+   How to enable             - mprq_en=1
+                             - RX queues number should be >= rxqs_min_mprq
+   Scatter support           - No
+   RX error recovery support - Yes
+   CQE compression support   - Yes
+   Large MTU support         - Yes. Needs to be turned on by specifying the
+                               stride size
+   Fallback                  - In scatter fallback to rx_burst
+   Notes                     - Saving PCI bandwidth and getting higher
+                               performance, especially for small packets.
+                               Used mainly for multi-core use cases.
+                               Uses externally attached buffers only.
+
+#. Function name             - rx_burst_mprq_vec
+   How to enable             - rx_vec_en=1 (default mode) and mprq_en=1
+                             - RX queues number should be >= rxqs_min_mprq
+   Scatter support           - No
+   RX error recovery support - Supported only in case CQE compression is off
+   CQE compression support   - Yes
+   Large MTU support         - Yes. Needs to be turned on by specifying the
+                               stride size
+   Fallback                  - In scatter fallback to rx_burst.
+                               In LRO fallback to rx_burst_mprq.
+   Notes                     - Improves CPU utilization of regular
+                               rx_burst_mprq for multi-core and improves
+                               performance.
+                               Used mainly for multi-core use cases.
+                               Uses externally attached buffers only.