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 <as...@nvidia.com> > Sent: Sunday, November 22, 2020 14:36 > To: dev@dpdk.org > Cc: NBU-Contact-Thomas Monjalon <tho...@monjalon.net>; Slava Ovsiienko > <viachesl...@nvidia.com>; Matan Azrad <ma...@nvidia.com>; Raslan > Darawsheh <rasl...@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 <as...@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