doc: add information for Rx burst functions in mlx5
Checks
Commit Message
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>
---
doc/guides/nics/mlx5.rst | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
Comments
Hi, Asaf
There is one more devargs to manage MPRQ enable: "rxqs_min_mprq".
This parameters defines the number of Rx queues limit to enable MPRQ.
If there is not enough Rx queues (below the limit) then MPRQ is disabled.
By default, "rxqs_min_mprq" is 12. I suppose we should mention this in
the list being added.
With best regards, Slava
> -----Original Message-----
> From: Asaf Penso <asafp@nvidia.com>
> Sent: Sunday, November 22, 2020 14:36
> To: dev@dpdk.org
> Cc: NBU-Contact-Thomas Monjalon <thomas@monjalon.net>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Matan Azrad <matan@nvidia.com>; Raslan
> Darawsheh <rasland@nvidia.com>
> Subject: [PATCH] doc: add information for Rx burst functions in mlx5
>
> 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>
> ---
> doc/guides/nics/mlx5.rst | 55
> ++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
>
> diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index
> 205e5ba..8c1ce15 100644
> --- a/doc/guides/nics/mlx5.rst
> +++ b/doc/guides/nics/mlx5.rst
> @@ -1645,3 +1645,58 @@ 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
> + 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
> + 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
> + 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 or 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.
> \ No newline at end of file
> --
> 1.8.3.1
@@ -1645,3 +1645,58 @@ 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
+ 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
+ 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
+ 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 or 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.
\ No newline at end of file