From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F18F2A06CB for ; Tue, 22 Nov 2022 23:03:23 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E3B7A42D79; Tue, 22 Nov 2022 23:03:23 +0100 (CET) Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by mails.dpdk.org (Postfix) with ESMTP id BC89042B77 for ; Tue, 22 Nov 2022 23:03:22 +0100 (CET) Received: by mail-wr1-f46.google.com with SMTP id x17so13415887wrn.6 for ; Tue, 22 Nov 2022 14:03:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Yd9CCClMhOsCPiDYlauKZi1Xo26zz6Se8xeiUlt++pU=; b=UDbRp0rVyEnhkr1iFCt6MQDunLR1tDCLHtDbNoc+RG2ghB+Mw5R1G0sH70zlIiPyX5 wji+EVo5Tt/oyk9FCdHwO7q+8XXnEZav3r5TrC4s0Sz40qcOva736hLgcZpeSy4v6IJM YhCS4e0nsYC5f3ZGD9HyG6J4VbMLi6mBwHgzn4QnziKKnVut29PF5eQt6UhN6l75bhc6 f9LAzZmrKXorQSSMsJ+6fM5SmbJ7HsK2+ug8eRDbK9DJ0GfzZ4n8Isi9XcI9sIBZdG4K Ow2Rqt8WyI92K2tUIlBjRkuOXlqq6FFKEXIctvkRKL9x9qTsPwAdttwSpfwpCaYN5CAJ UqLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Yd9CCClMhOsCPiDYlauKZi1Xo26zz6Se8xeiUlt++pU=; b=lnS4iSOe1uT2tNvalh8oi9Hp/4EouhrkNC0M5zOkx1B3/PlYNL7rPACEOBCLGHlXPn HrKP7uasBWVo//dwecQSutlXhTLS4MQpHBUkTxpT2lsbqtf7rQPaOLTNsHFVjcOC6ZCw XNOY3XiFluKsyzo2EoFMsW8QeNT37Dq5BNZuT0uPAemoHg6TRLA3DoVEIpUlnec7eVpV 4rN2ViVy/t/wX711XUk3L7hhlgQNSnflYdwN8oeH0DtoEwVFAFyL+KUdkH1wOHySCWtu jbhrlFuDovagvZAwDtTIYOQqrZzQdIRyBoSPQLb9Td/yDmncPt1iaeq0X+v8LAmNe8Ux rF0A== X-Gm-Message-State: ANoB5pmuHAE9AgOB1iaKrGi8C03OYJZbj8KbLjlAUs7WK6A3mHfutahu yd/cEScMKI8+n3pskg+Lo1eNxUxJFiRyvQ== X-Google-Smtp-Source: AA0mqf6v4/OXg4hCBeGvPW68J/WXEjpmc8JTu9STtN6J5bIqblwMOG+Yv8TaQiB23FR5f+SYDQxh2Q== X-Received: by 2002:a05:6000:691:b0:241:b92b:d086 with SMTP id bo17-20020a056000069100b00241b92bd086mr15511547wrb.259.1669154602497; Tue, 22 Nov 2022 14:03:22 -0800 (PST) Received: from localhost ([137.220.119.58]) by smtp.gmail.com with ESMTPSA id e18-20020adfdbd2000000b0022da3977ec5sm14923900wrj.113.2022.11.22.14.03.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Nov 2022 14:03:22 -0800 (PST) From: luca.boccassi@gmail.com To: Gregory Etelson Cc: Matan Azrad , dpdk stable Subject: patch 'net/mlx5: fix maximum LRO message size' has been queued to stable release 20.11.7 Date: Tue, 22 Nov 2022 22:02:35 +0000 Message-Id: <20221122220241.926784-11-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221122220241.926784-1-luca.boccassi@gmail.com> References: <20221117230859.611465-34-luca.boccassi@gmail.com> <20221122220241.926784-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 20.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/24/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/ee96651e5a998f0b84e7f84936ae676281876fe5 Thanks. Luca Boccassi --- >From ee96651e5a998f0b84e7f84936ae676281876fe5 Mon Sep 17 00:00:00 2001 From: Gregory Etelson Date: Thu, 17 Nov 2022 16:39:00 +0200 Subject: [PATCH] net/mlx5: fix maximum LRO message size [ upstream commit a23640047c361500c0fe4a3e52394bb7b2e9faa5 ] The PMD analyzes each Rx queue maximal LRO size and selects one that fits all queues to configure TIR LRO attribute. TIR LRO attribute is number of 256 bytes chunks that match the selected maximal LRO size. PMD used `priv->max_lro_msg_size` for selected maximal LRO size and number of TIR chunks. Fixes: b9f1f4c239 ("net/mlx5: fix port initialization with small LRO") Signed-off-by: Gregory Etelson Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5.h | 2 +- drivers/net/mlx5/mlx5_devx.c | 3 ++- drivers/net/mlx5/mlx5_rxq.c | 4 +--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index 69fb34826d..1f47c433eb 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -981,7 +981,7 @@ struct mlx5_priv { uint32_t refcnt; /**< Reference counter. */ /**< Verbs modify header action object. */ uint8_t ft_type; /**< Flow table type, Rx or Tx. */ - uint8_t max_lro_msg_size; + uint32_t max_lro_msg_size; /* Tags resources cache. */ uint32_t link_speed_capa; /* Link speed capabilities. */ struct mlx5_xstats_ctrl xstats_ctrl; /* Extended stats control. */ diff --git a/drivers/net/mlx5/mlx5_devx.c b/drivers/net/mlx5/mlx5_devx.c index b2c770f537..b0bc61bd7b 100644 --- a/drivers/net/mlx5/mlx5_devx.c +++ b/drivers/net/mlx5/mlx5_devx.c @@ -905,7 +905,8 @@ mlx5_devx_tir_attr_set(struct rte_eth_dev *dev, const uint8_t *rss_key, MLX5_TIRC_SELF_LB_BLOCK_BLOCK_UNICAST; if (lro) { tir_attr->lro_timeout_period_usecs = priv->config.lro.timeout; - tir_attr->lro_max_msg_sz = priv->max_lro_msg_size; + tir_attr->lro_max_msg_sz = + priv->max_lro_msg_size / MLX5_LRO_SEG_CHUNK_SIZE; tir_attr->lro_enable_mask = MLX5_TIRC_LRO_ENABLE_MASK_IPV4_LRO | MLX5_TIRC_LRO_ENABLE_MASK_IPV6_LRO; diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index 048d1c571b..5d659738fe 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -1378,7 +1378,6 @@ mlx5_max_lro_msg_size_adjust(struct rte_eth_dev *dev, uint16_t idx, MLX5_MAX_TCP_HDR_OFFSET) max_lro_size -= MLX5_MAX_TCP_HDR_OFFSET; max_lro_size = RTE_MIN(max_lro_size, MLX5_MAX_LRO_SIZE); - max_lro_size /= MLX5_LRO_SEG_CHUNK_SIZE; if (priv->max_lro_msg_size) priv->max_lro_msg_size = RTE_MIN((uint32_t)priv->max_lro_msg_size, max_lro_size); @@ -1386,8 +1385,7 @@ mlx5_max_lro_msg_size_adjust(struct rte_eth_dev *dev, uint16_t idx, priv->max_lro_msg_size = max_lro_size; DRV_LOG(DEBUG, "port %u Rx Queue %u max LRO message size adjusted to %u bytes", - dev->data->port_id, idx, - priv->max_lro_msg_size * MLX5_LRO_SEG_CHUNK_SIZE); + dev->data->port_id, idx, priv->max_lro_msg_size); } /** -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-22 22:01:32.257195291 +0000 +++ 0011-net-mlx5-fix-maximum-LRO-message-size.patch 2022-11-22 22:01:31.515524803 +0000 @@ -1 +1 @@ -From a23640047c361500c0fe4a3e52394bb7b2e9faa5 Mon Sep 17 00:00:00 2001 +From ee96651e5a998f0b84e7f84936ae676281876fe5 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a23640047c361500c0fe4a3e52394bb7b2e9faa5 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -26 +27 @@ -index 02bee5808d..31982002ee 100644 +index 69fb34826d..1f47c433eb 100644 @@ -29 +30 @@ -@@ -1711,7 +1711,7 @@ struct mlx5_priv { +@@ -981,7 +981,7 @@ struct mlx5_priv { @@ -34,0 +36 @@ + /* Tags resources cache. */ @@ -37 +38,0 @@ - struct mlx5_stats_ctrl stats_ctrl; /* Stats control. */ @@ -39 +40 @@ -index c1305836cf..02deaac612 100644 +index b2c770f537..b0bc61bd7b 100644 @@ -42 +43,2 @@ -@@ -870,7 +870,8 @@ mlx5_devx_tir_attr_set(struct rte_eth_dev *dev, const uint8_t *rss_key, +@@ -905,7 +905,8 @@ mlx5_devx_tir_attr_set(struct rte_eth_dev *dev, const uint8_t *rss_key, + MLX5_TIRC_SELF_LB_BLOCK_BLOCK_UNICAST; @@ -44,2 +46 @@ - MLX5_ASSERT(priv->sh->config.lro_allowed); - tir_attr->lro_timeout_period_usecs = priv->config.lro_timeout; + tir_attr->lro_timeout_period_usecs = priv->config.lro.timeout; @@ -53 +54 @@ -index 724cd6c7e6..81aa3f074a 100644 +index 048d1c571b..5d659738fe 100644 @@ -56 +57 @@ -@@ -1533,7 +1533,6 @@ mlx5_max_lro_msg_size_adjust(struct rte_eth_dev *dev, uint16_t idx, +@@ -1378,7 +1378,6 @@ mlx5_max_lro_msg_size_adjust(struct rte_eth_dev *dev, uint16_t idx, @@ -64 +65 @@ -@@ -1541,8 +1540,7 @@ mlx5_max_lro_msg_size_adjust(struct rte_eth_dev *dev, uint16_t idx, +@@ -1386,8 +1385,7 @@ mlx5_max_lro_msg_size_adjust(struct rte_eth_dev *dev, uint16_t idx,