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 80D73A0093 for ; Fri, 22 May 2020 11:41:33 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 77EDF1D966; Fri, 22 May 2020 11:41:33 +0200 (CEST) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by dpdk.org (Postfix) with ESMTP id E45AD1D966 for ; Fri, 22 May 2020 11:41:32 +0200 (CEST) Received: by mail-wm1-f67.google.com with SMTP id f13so8047778wmc.5 for ; Fri, 22 May 2020 02:41: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=OX+IzV5SJUSLbbC/BnVgVvDgaYtvR7W7pe2G2OovPUw=; b=Ee3ghZpJx+wS6QsWtUbEFgrw0TPuy4bj3G3XNzxgUUsBcETgl3xO9GyGOeBogjxPCu Yo2FnCPjSWac2ocCBfZhT+6/3SxuFMTJfal4B1ijxS02OA+x8rwR7BW9swLTWmXbhOsT fH+zv28e1mDVTbsu//I+9filIwj1nCOG7lrPEMH2VpRlYvXjaLCmr3P5yQxZxXSLdSvU iObZRNgDlDRSCMx2PD2+s5unXb5bTfHpCW5I6xqdO2Jiyyl2/QROV9p3HHkGnK/myIf8 nmFhjJGkpDEOhWLw3axPfVdCQ1eFFJt9nrCpja3KJAVm3eTp1UvlAf6XJGHHihi/++ji FRNQ== 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=OX+IzV5SJUSLbbC/BnVgVvDgaYtvR7W7pe2G2OovPUw=; b=DdgDcrE6LC4PHa2gjkwvXOis5TwLuEcnVi4lqcFQsAH2KV2ClDX8XG9cRT6SKesslt P2WdhmwTbmgb5CByzp/NuwbUnaMi+rD+o2LVMsfPb4R9GRXkpJYbW3UEVzuOpgh+oaE6 CNUsUWPf5SQ9fIjfIpJiIku2iuCCQ6ldMcx2DIrFOdP4LORhElQdN6hIcSeGVQRa+jKl riXz3DJcvQlTa0lv0QisZ0l/z4dc1M+Cg/AWBT2fVSzCKUq7Kdhii58pxCU+KhbJpcTG etD7xkbqyhfI396tBhqBLG3gEKnptzI+kkyFqPvG67LjocuNInKOZxjaEXRv78x85Tk4 KJNA== X-Gm-Message-State: AOAM533AhaGEB/ndJHoq0CbtPCoeLWunQREscTNNVMi8Am1dZr1mfq0/ Xek3sOjo+VxoSc0CbyXVuxY= X-Google-Smtp-Source: ABdhPJyI+3OnWggOUuzT+66wuOQBK8zmK+StnvKu1/jlQaI/xGTdQ6WhnFIrFrImwFKvh6lD/aPZhg== X-Received: by 2002:a1c:2c0b:: with SMTP id s11mr12201257wms.97.1590140492608; Fri, 22 May 2020 02:41:32 -0700 (PDT) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id x1sm8676180wrt.86.2020.05.22.02.41.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2020 02:41:32 -0700 (PDT) From: luca.boccassi@gmail.com To: Rasesh Mody Cc: Igor Russkikh , dpdk stable Date: Fri, 22 May 2020 10:40:00 +0100 Message-Id: <20200522094022.1025696-21-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200522094022.1025696-1-luca.boccassi@gmail.com> References: <20200519130549.112823-214-luca.boccassi@gmail.com> <20200522094022.1025696-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/qede: fix port reconfiguration' has been queued to stable release 19.11.3 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.3 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/24/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 bbcbd194d8262a13cab44d3b4cb1d9bdd073b20a Mon Sep 17 00:00:00 2001 From: Rasesh Mody Date: Thu, 14 May 2020 23:34:19 -0700 Subject: [PATCH] net/qede: fix port reconfiguration [ upstream commit 05ccc9d8a9f9338b1cb4ae515c60c60f8b7f518d ] This patch fixes deallocation of all fastpath resources unconditionally, when re-configuring the device. When re-allocating resources PMD depends on application to explicitly setup the Rx/Tx queue. Deallocation of all the resources is only required if the Rx/Tx queue configuration changes. For other scenarios like KNI MTU change we'd keep existing configuration. Fixes: 8de0c4201926 ("net/qede: fix odd number of queues usage in 100G mode") Fixes: dd28bc8c6ef4 ("net/qede: fix VF port creation sequence") Signed-off-by: Rasesh Mody Signed-off-by: Igor Russkikh --- drivers/net/qede/qede_ethdev.c | 19 +++++++++++++------ drivers/net/qede/qede_rxtx.c | 4 +++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 4b3f506506..2a1c82ac9a 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c @@ -1191,6 +1191,8 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev) struct qede_dev *qdev = QEDE_INIT_QDEV(eth_dev); struct ecore_dev *edev = QEDE_INIT_EDEV(qdev); struct rte_eth_rxmode *rxmode = ð_dev->data->dev_conf.rxmode; + uint8_t num_rxqs; + uint8_t num_txqs; int ret; PMD_INIT_FUNC_TRACE(edev); @@ -1223,12 +1225,17 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev) if (qede_check_fdir_support(eth_dev)) return -ENOTSUP; - qede_dealloc_fp_resc(eth_dev); - qdev->num_tx_queues = eth_dev->data->nb_tx_queues * edev->num_hwfns; - qdev->num_rx_queues = eth_dev->data->nb_rx_queues * edev->num_hwfns; - - if (qede_alloc_fp_resc(qdev)) - return -ENOMEM; + /* Allocate/reallocate fastpath resources only for new queue config */ + num_txqs = eth_dev->data->nb_tx_queues * edev->num_hwfns; + num_rxqs = eth_dev->data->nb_rx_queues * edev->num_hwfns; + if (qdev->num_tx_queues != num_txqs || + qdev->num_rx_queues != num_rxqs) { + qede_dealloc_fp_resc(eth_dev); + qdev->num_tx_queues = num_txqs; + qdev->num_rx_queues = num_rxqs; + if (qede_alloc_fp_resc(qdev)) + return -ENOMEM; + } /* If jumbo enabled adjust MTU */ if (rxmode->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c index a28dd0a07f..3c55c0efdf 100644 --- a/drivers/net/qede/qede_rxtx.c +++ b/drivers/net/qede/qede_rxtx.c @@ -593,12 +593,14 @@ qede_alloc_mem_sb(struct qede_dev *qdev, struct ecore_sb_info *sb_info, int qede_alloc_fp_resc(struct qede_dev *qdev) { - struct ecore_dev *edev = &qdev->edev; + struct ecore_dev *edev = QEDE_INIT_EDEV(qdev); struct qede_fastpath *fp; uint32_t num_sbs; uint16_t sb_idx; int i; + PMD_INIT_FUNC_TRACE(edev); + if (IS_VF(edev)) ecore_vf_get_num_sbs(ECORE_LEADING_HWFN(edev), &num_sbs); else -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-05-22 10:37:40.021535341 +0100 +++ 0021-net-qede-fix-port-reconfiguration.patch 2020-05-22 10:37:39.112412427 +0100 @@ -1,8 +1,10 @@ -From 05ccc9d8a9f9338b1cb4ae515c60c60f8b7f518d Mon Sep 17 00:00:00 2001 +From bbcbd194d8262a13cab44d3b4cb1d9bdd073b20a Mon Sep 17 00:00:00 2001 From: Rasesh Mody Date: Thu, 14 May 2020 23:34:19 -0700 Subject: [PATCH] net/qede: fix port reconfiguration +[ upstream commit 05ccc9d8a9f9338b1cb4ae515c60c60f8b7f518d ] + This patch fixes deallocation of all fastpath resources unconditionally, when re-configuring the device. When re-allocating resources PMD depends on application to explicitly setup the Rx/Tx queue. @@ -13,7 +15,6 @@ Fixes: 8de0c4201926 ("net/qede: fix odd number of queues usage in 100G mode") Fixes: dd28bc8c6ef4 ("net/qede: fix VF port creation sequence") -Cc: stable@dpdk.org Signed-off-by: Rasesh Mody Signed-off-by: Igor Russkikh @@ -23,10 +24,10 @@ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c -index d3d916e81a..c4f8f12589 100644 +index 4b3f506506..2a1c82ac9a 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c -@@ -1273,6 +1273,8 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev) +@@ -1191,6 +1191,8 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev) struct qede_dev *qdev = QEDE_INIT_QDEV(eth_dev); struct ecore_dev *edev = QEDE_INIT_EDEV(qdev); struct rte_eth_rxmode *rxmode = ð_dev->data->dev_conf.rxmode; @@ -35,7 +36,7 @@ int ret; PMD_INIT_FUNC_TRACE(edev); -@@ -1305,12 +1307,17 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev) +@@ -1223,12 +1225,17 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev) if (qede_check_fdir_support(eth_dev)) return -ENOTSUP; @@ -60,7 +61,7 @@ /* If jumbo enabled adjust MTU */ if (rxmode->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c -index b81788ca47..9878ba50ea 100644 +index a28dd0a07f..3c55c0efdf 100644 --- a/drivers/net/qede/qede_rxtx.c +++ b/drivers/net/qede/qede_rxtx.c @@ -593,12 +593,14 @@ qede_alloc_mem_sb(struct qede_dev *qdev, struct ecore_sb_info *sb_info,