From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 399BCA04B1; Mon, 23 Nov 2020 08:57:12 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F1D2237AF; Mon, 23 Nov 2020 08:57:09 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id C71C523D for ; Mon, 23 Nov 2020 08:57:07 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from asafp@nvidia.com) with SMTP; 23 Nov 2020 09:57:02 +0200 Received: from nvidia.com (pegasus07.mtr.labs.mlnx [10.210.16.112]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 0AN7v2d7027213; Mon, 23 Nov 2020 09:57:02 +0200 From: Asaf Penso To: dev@dpdk.org Cc: thomas@monjalon.net, viacheslavo@nvidia.com, matan@nvidia.com, rasland@nvidia.com Date: Mon, 23 Nov 2020 07:56:54 +0000 Message-Id: <1606118214-30735-1-git-send-email-asafp@nvidia.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1606048553-16127-1-git-send-email-asafp@nvidia.com> References: <1606048553-16127-1-git-send-email-asafp@nvidia.com> Subject: [dpdk-dev] [PATCH v2] doc: add information for Rx burst functions in mlx5 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- v2: for mprq added note for rxqs_min_mprq --- doc/guides/nics/mlx5.rst | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 205e5ba..46cfc3f 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -1645,3 +1645,60 @@ all flows with assistance of external tools. .. code-block:: console mlx_steering_dump.py -f + +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 + 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 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. -- 1.8.3.1