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 40C52A00E6 for ; Wed, 7 Aug 2019 14:57:53 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 62E6F2BF1; Wed, 7 Aug 2019 14:57:52 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id D46022BD3 for ; Wed, 7 Aug 2019 14:57:49 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE2 (envelope-from viacheslavo@mellanox.com) with ESMTPS (AES256-SHA encrypted); 7 Aug 2019 15:57:49 +0300 Received: from pegasus12.mtr.labs.mlnx (pegasus12.mtr.labs.mlnx [10.210.17.40]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x77CvnXX009404; Wed, 7 Aug 2019 15:57:49 +0300 Received: from pegasus12.mtr.labs.mlnx (localhost [127.0.0.1]) by pegasus12.mtr.labs.mlnx (8.14.7/8.14.7) with ESMTP id x77CvmUW010674; Wed, 7 Aug 2019 12:57:48 GMT Received: (from viacheslavo@localhost) by pegasus12.mtr.labs.mlnx (8.14.7/8.14.7/Submit) id x77CvmcA010673; Wed, 7 Aug 2019 12:57:48 GMT X-Authentication-Warning: pegasus12.mtr.labs.mlnx: viacheslavo set sender to viacheslavo@mellanox.com using -f From: Viacheslav Ovsiienko To: dev@dpdk.org Cc: yskoh@mellanox.com, shahafs@mellanox.com Date: Wed, 7 Aug 2019 12:57:47 +0000 Message-Id: <1565182667-10633-1-git-send-email-viacheslavo@mellanox.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-dev] [PATCH] doc: update inline settings in mlx5 guide 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" This patch updates mlx5 documentation in parts: - txq_inline_min parameter is described in more details, values are fixed - maximal amount of segments in multi-segment packets. Signed-off-by: Viacheslav Ovsiienko --- doc/guides/nics/mlx5.rst | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index f7a076f..d6082ac 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -124,9 +124,10 @@ Limitations Will match any ipv4 packet (VLAN included). -- A multi segment packet must have less than 6 segments in case the Tx burst function - is set to multi-packet send or Enhanced multi-packet send. Otherwise it must have - less than 50 segments. +- A multi segment packet must have not more segments than reported by dev_infos_get() + in tx_desc_lim.nb_seg_max field. This value depends on maximal supported Tx descriptor + size and ``txq_inline_min`` settings and may be from 2 (worst case forced by maximal + inline settings) to 58. - Flows with a VXLAN Network Identifier equal (or ends to be equal) to 0 are not supported. @@ -403,25 +404,31 @@ Run-time configuration Minimal amount of data to be inlined into WQE during Tx operations. NICs may require this minimal data amount to operate correctly. The exact value - may depend on NIC operation mode, requested offloads, etc. + may depend on NIC operation mode, requested offloads, etc. It is strongly + recommended to omit this parameter and use the default values. Anyway, + applications using this parameter should take into consideration that + specifying an inconsistent value may prevent the NIC from sending packets. If ``txq_inline_min`` key is present the specified value (may be aligned by the driver in order not to exceed the limits and provide better descriptor - space utilization) will be used by the driver and it is guaranteed the - requested data bytes are inlined into the WQE beside other inline settings. - This keys also may update ``txq_inline_max`` value (default of specified - explicitly in devargs) to reserve the space for inline data. + space utilization) will be used by the driver and it is guaranteed that + requested amount of data bytes are inlined into the WQE beside other inline + settings. This key also may update ``txq_inline_max`` value (default + or specified explicitly in devargs) to reserve the space for inline data. If ``txq_inline_min`` key is not present, the value may be queried by the driver from the NIC via DevX if this feature is available. If there is no DevX enabled/supported the value 18 (supposing L2 header including VLAN) is set - for ConnectX-4, value 58 (supposing L2-L4 headers, required by configurations - over E-Switch) is set for ConnectX-4 Lx, and 0 is set by default for ConnectX-5 + for ConnectX-4 and ConnectX-4LX, and 0 is set by default for ConnectX-5 and newer NICs. If packet is shorter the ``txq_inline_min`` value, the entire packet is inlined. - For the ConnectX-4 and ConnectX-4 Lx NICs driver does not allow to set - this value below 18 (minimal L2 header, including VLAN). + For ConnectX-4 NIC, driver does not allow specifying value below 18 + (minimal L2 header, including VLAN), error will be raised. + + For ConnectX-4LX NIC, it is allowed to specify values below 18, but + it is not recommended and may prevent NIC from sending packets over + some configurations. Please, note, this minimal data inlining disengages eMPW feature (Enhanced Multi-Packet Write), because last one does not support partial packet inlining. -- 1.8.3.1