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 308C9A04DD for ; Wed, 28 Oct 2020 11:50:37 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2A1454C90; Wed, 28 Oct 2020 11:50:36 +0100 (CET) Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by dpdk.org (Postfix) with ESMTP id EB7764C90 for ; Wed, 28 Oct 2020 11:50:32 +0100 (CET) Received: by mail-wr1-f68.google.com with SMTP id n18so5161366wrs.5 for ; Wed, 28 Oct 2020 03:50:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Jqp9YaqItYpWyYziQz0nPeBn4pqnAIFMu5iH+8E0524=; b=IkRW9V44Pmh5WSM2tK2B1wUFI28P39ZF+X+I2/flSxOZn9U2vJw20kWAFRM94+hboY 5lt2XY6mkWX/7W7a/JteYC9KvnGq0palG8vz8dFf6NdcWWz0LZ4TuUGOQIOd6bmKOtqs J1Y9Un52OY7ulWAnmGyU8e+0jigeg2FmmYqOOnA10tNb1zk/y6En0uRdvKtSmXL9dQ4u V+9a41qWyD9//JwRroa0vhZpDdI+VYYQDnkgmUoDWZ0avwpO6y/cJesxRcf22Uor8E6S Vy2xX4WnS5heRlW5U1OkRGHO+Y95h13FUOW5td+0eiC3mpggmFceij56Mh5SPWXdLdjf DxrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Jqp9YaqItYpWyYziQz0nPeBn4pqnAIFMu5iH+8E0524=; b=hSsa9RWLhRtBGbV4m7oD4Fvt4K1raNe4pxPNDB1RVDDvwTNdavjOwEusywOmqHN8d7 Yv9knSdr8wmvat+X2Dg4XBsSTS/z2nEJobCxqC0Ukk7QPW95cAytL0947x3DrkxHSPAF pYArLiNktBdxt066MRrAMBnBBOsFTRfi4RL4ZF4kblIuYN5bn/fFUbm+anjk1FhGgQ8Q lUT/8OBAdnQHTmb/Vnj03ZIMN3kOhX33vu56GZ6QQ9+kUPixPhQx/vehpVGndD4TOUr7 rtk1gj7f9lGX9AckLLo0H3PjAWyghz/IX1TmplcLqM+o4WSO52h/JwvAujB79917F7X2 BzfA== X-Gm-Message-State: AOAM533LNnIgPdludL3QNZAd+bfbhqve5d9cBPlOs9xFzhvSKqtoAuGt FMRsCmhwKT/SoQKAA9qr4zz724W1aSJ1xC40 X-Google-Smtp-Source: ABdhPJzDaxwS5mJM+AEHW6aW4jhygTaxSfWiqZtx6Z0ygox1ZlE+D86MfR4stcOBwjopwLrM6SzEEw== X-Received: by 2002:adf:fe48:: with SMTP id m8mr8053491wrs.127.1603882231645; Wed, 28 Oct 2020 03:50:31 -0700 (PDT) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id z11sm6128530wrh.70.2020.10.28.03.50.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Oct 2020 03:50:31 -0700 (PDT) From: luca.boccassi@gmail.com To: Harman Kalra Cc: Jerin Jacob , dpdk stable Date: Wed, 28 Oct 2020 10:44:02 +0000 Message-Id: <20201028104606.3504127-83-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201028104606.3504127-1-luca.boccassi@gmail.com> References: <20201028104606.3504127-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/octeontx2: fix multi segment mode for jumbo packets' has been queued to stable release 19.11.6 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 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 Sender: "stable" Hi, FYI, your patch has been queued to stable release 19.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 10/30/20. 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. Thanks. Luca Boccassi --- >From 4894d13ada8b411bdc787f6469b9a34907e2da94 Mon Sep 17 00:00:00 2001 From: Harman Kalra Date: Mon, 10 Aug 2020 16:25:45 +0530 Subject: [PATCH] net/octeontx2: fix multi segment mode for jumbo packets [ upstream commit 27e27ec62999fa91b2a4865d6909ccbb5118eb26 ] Scatter gather mode should get enabled: - If mbuf size is less than max received packet length. - MTU is reconfigured greater than mbuf size. Fixes: 0e2efd02db58 ("net/octeontx2: add MTU set operation") Signed-off-by: Harman Kalra Acked-by: Jerin Jacob --- drivers/net/octeontx2/otx2_ethdev.c | 30 +++++++++++++++++++++++++ drivers/net/octeontx2/otx2_ethdev.h | 2 ++ drivers/net/octeontx2/otx2_ethdev_ops.c | 9 +------- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c index 102d06b39b..41930c5df0 100644 --- a/drivers/net/octeontx2/otx2_ethdev.c +++ b/drivers/net/octeontx2/otx2_ethdev.c @@ -568,6 +568,9 @@ otx2_nix_rx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t rq, } } + /* Setup scatter mode if needed by jumbo */ + otx2_nix_enable_mseg_on_jumbo(rxq); + return 0; free_rxq: @@ -695,6 +698,33 @@ nix_tx_offload_flags(struct rte_eth_dev *eth_dev) return flags; } +void +otx2_nix_enable_mseg_on_jumbo(struct otx2_eth_rxq *rxq) +{ + struct rte_pktmbuf_pool_private *mbp_priv; + struct rte_eth_dev *eth_dev; + struct otx2_eth_dev *dev; + uint32_t buffsz; + + eth_dev = rxq->eth_dev; + dev = otx2_eth_pmd_priv(eth_dev); + + /* Get rx buffer size */ + mbp_priv = rte_mempool_get_priv(rxq->pool); + buffsz = mbp_priv->mbuf_data_room_size - RTE_PKTMBUF_HEADROOM; + + if (eth_dev->data->dev_conf.rxmode.max_rx_pkt_len > buffsz) { + dev->rx_offloads |= DEV_RX_OFFLOAD_SCATTER; + dev->tx_offloads |= DEV_TX_OFFLOAD_MULTI_SEGS; + + /* Setting up the rx[tx]_offload_flags due to change + * in rx[tx]_offloads. + */ + dev->rx_offload_flags |= nix_rx_offload_flags(eth_dev); + dev->tx_offload_flags |= nix_tx_offload_flags(eth_dev); + } +} + static int nix_sq_init(struct otx2_eth_txq *txq) { diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h index 0aadaecf72..48148ede4c 100644 --- a/drivers/net/octeontx2/otx2_ethdev.h +++ b/drivers/net/octeontx2/otx2_ethdev.h @@ -424,6 +424,8 @@ int otx2_nix_set_mc_addr_list(struct rte_eth_dev *eth_dev, /* MTU */ int otx2_nix_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu); int otx2_nix_recalc_mtu(struct rte_eth_dev *eth_dev); +void otx2_nix_enable_mseg_on_jumbo(struct otx2_eth_rxq *rxq); + /* Link */ void otx2_nix_toggle_flag_link_cfg(struct otx2_eth_dev *dev, bool set); diff --git a/drivers/net/octeontx2/otx2_ethdev_ops.c b/drivers/net/octeontx2/otx2_ethdev_ops.c index 93ef04803d..24a0d3f01d 100644 --- a/drivers/net/octeontx2/otx2_ethdev_ops.c +++ b/drivers/net/octeontx2/otx2_ethdev_ops.c @@ -72,22 +72,15 @@ otx2_nix_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu) int otx2_nix_recalc_mtu(struct rte_eth_dev *eth_dev) { - struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev); struct rte_eth_dev_data *data = eth_dev->data; - struct rte_pktmbuf_pool_private *mbp_priv; struct otx2_eth_rxq *rxq; - uint32_t buffsz; uint16_t mtu; int rc; - /* Get rx buffer size */ rxq = data->rx_queues[0]; - mbp_priv = rte_mempool_get_priv(rxq->pool); - buffsz = mbp_priv->mbuf_data_room_size - RTE_PKTMBUF_HEADROOM; /* Setup scatter mode if needed by jumbo */ - if (data->dev_conf.rxmode.max_rx_pkt_len > buffsz) - dev->rx_offloads |= DEV_RX_OFFLOAD_SCATTER; + otx2_nix_enable_mseg_on_jumbo(rxq); /* Setup MTU based on max_rx_pkt_len */ mtu = data->dev_conf.rxmode.max_rx_pkt_len - NIX_L2_OVERHEAD; -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-10-28 10:35:14.347981103 +0000 +++ 0083-net-octeontx2-fix-multi-segment-mode-for-jumbo-packe.patch 2020-10-28 10:35:11.600831437 +0000 @@ -1,14 +1,15 @@ -From 27e27ec62999fa91b2a4865d6909ccbb5118eb26 Mon Sep 17 00:00:00 2001 +From 4894d13ada8b411bdc787f6469b9a34907e2da94 Mon Sep 17 00:00:00 2001 From: Harman Kalra Date: Mon, 10 Aug 2020 16:25:45 +0530 Subject: [PATCH] net/octeontx2: fix multi segment mode for jumbo packets +[ upstream commit 27e27ec62999fa91b2a4865d6909ccbb5118eb26 ] + Scatter gather mode should get enabled: - If mbuf size is less than max received packet length. - MTU is reconfigured greater than mbuf size. Fixes: 0e2efd02db58 ("net/octeontx2: add MTU set operation") -Cc: stable@dpdk.org Signed-off-by: Harman Kalra Acked-by: Jerin Jacob @@ -19,10 +20,10 @@ 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c -index c06e32f26b..3ad50d7cfe 100644 +index 102d06b39b..41930c5df0 100644 --- a/drivers/net/octeontx2/otx2_ethdev.c +++ b/drivers/net/octeontx2/otx2_ethdev.c -@@ -657,6 +657,9 @@ otx2_nix_rx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t rq, +@@ -568,6 +568,9 @@ otx2_nix_rx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t rq, } } @@ -32,8 +33,8 @@ return 0; free_rxq: -@@ -878,6 +881,33 @@ nix_sqb_unlock(struct rte_mempool *mp) - return 0; +@@ -695,6 +698,33 @@ nix_tx_offload_flags(struct rte_eth_dev *eth_dev) + return flags; } +void @@ -67,10 +68,10 @@ nix_sq_init(struct otx2_eth_txq *txq) { diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h -index a114112391..8e6e70d452 100644 +index 0aadaecf72..48148ede4c 100644 --- a/drivers/net/octeontx2/otx2_ethdev.h +++ b/drivers/net/octeontx2/otx2_ethdev.h -@@ -437,6 +437,8 @@ int otx2_nix_set_mc_addr_list(struct rte_eth_dev *eth_dev, +@@ -424,6 +424,8 @@ int otx2_nix_set_mc_addr_list(struct rte_eth_dev *eth_dev, /* MTU */ int otx2_nix_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu); int otx2_nix_recalc_mtu(struct rte_eth_dev *eth_dev); @@ -80,7 +81,7 @@ /* Link */ void otx2_nix_toggle_flag_link_cfg(struct otx2_eth_dev *dev, bool set); diff --git a/drivers/net/octeontx2/otx2_ethdev_ops.c b/drivers/net/octeontx2/otx2_ethdev_ops.c -index faecf216c1..b36d37b9f7 100644 +index 93ef04803d..24a0d3f01d 100644 --- a/drivers/net/octeontx2/otx2_ethdev_ops.c +++ b/drivers/net/octeontx2/otx2_ethdev_ops.c @@ -72,22 +72,15 @@ otx2_nix_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu)