From patchwork Tue Nov 24 07:44:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asaf Penso X-Patchwork-Id: 84493 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 17C15A04B1; Tue, 24 Nov 2020 08:44:26 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5E90CC910; Tue, 24 Nov 2020 08:44:24 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 5E88FC90C for ; Tue, 24 Nov 2020 08:44:22 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from asafp@nvidia.com) with SMTP; 24 Nov 2020 09:44:18 +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 0AO7iIUU032747; Tue, 24 Nov 2020 09:44:18 +0200 From: Asaf Penso To: dev@dpdk.org Cc: thomas@monjalon.net, viacheslavo@nvidia.com, matan@nvidia.com, rasland@nvidia.com Date: Tue, 24 Nov 2020 07:44:16 +0000 Message-Id: <1606203856-5736-1-git-send-email-asafp@nvidia.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1606118685-32134-1-git-send-email-asafp@nvidia.com> References: <1606118685-32134-1-git-send-email-asafp@nvidia.com> Subject: [dpdk-dev] [PATCH v4] 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 Acked-by: Viacheslav Ovsiienko --- 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(+) 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 + +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.