Message ID | 1527873381-23910-1-git-send-email-rasesh.mody@cavium.com (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Ferruh Yigit |
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CD47C5F0D; Fri, 1 Jun 2018 19:18:53 +0200 (CEST) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0046.outbound.protection.outlook.com [104.47.41.46]) by dpdk.org (Postfix) with ESMTP id DB9735B18; Fri, 1 Jun 2018 19:18:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7Gu6gUbXFar018cEx2s7xkUCUI2TYk2KMY++yq+FbNQ=; b=elsyhUEw3qIHmR+DgeuzTFYWxHAML5d70/Tkdi9yBEVrsliBNovH7RVLhXI9QPdnE9soAikMqSuoMn0AEmwvYZOp5R8+EXTM4A22HS985+82wWiohbGefoK+rneSmUL2gBjy65T73Jz+h8ywzEmmo5roZqxDPXSQQ6/WkqzK2Ug= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rasesh.Mody@cavium.com; Received: from cavium.com (198.186.0.2) by CY4PR0701MB3666.namprd07.prod.outlook.com (2603:10b6:910:93::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.11; Fri, 1 Jun 2018 17:18:49 +0000 From: Rasesh Mody <rasesh.mody@cavium.com> To: dev@dpdk.org Cc: Rasesh Mody <rasesh.mody@cavium.com>, ferruh.yigit@intel.com, Dept-EngDPDKDev@cavium.com, stable@dpdk.org Date: Fri, 1 Jun 2018 10:16:21 -0700 Message-Id: <1527873381-23910-1-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [198.186.0.2] X-ClientProxiedBy: CO2PR04CA0107.namprd04.prod.outlook.com (2603:10b6:104:6::33) To CY4PR0701MB3666.namprd07.prod.outlook.com (2603:10b6:910:93::17) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:CY4PR0701MB3666; X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3666; 3:ixrERuZRpicHeFTs0DUGnPt2/5GkySGEFVYXc6YkUSXfPGAUrV2xNp6Je/B4n5ROfqS0zQ3H8J6pIrqCIwSolwuEkwkXRHZpHtIMXLpj67uNTw8dHekaEDEzkYFhxfGh9ZYRGudNJLr3VK9X4s94wthCL6kGDFuYE2ui8pxnNALZ5/xtCRWC4TjgXHi1p32zLnfRnvscyDPIjO5ZBReleBmBl3/UrXJC4nxafHWQh9DVWiihr+SDplXrexplvpPo; 25:222jbC7HLioeF3CXpM7NiM1sw69O/1sd5uI53YiHfr6W5XrFFycdh8NdmKkpKdINKiZETbAnbp6XQZxnXo5kQgXgnZLUW8vEvHVHFCmlFckL7AiCZg9g1Nu80xnpVGKD4PHjD8U9sWBb959yRwOW2rqrpKca2t0Nc2Wz9tXSaNfCO2Zc92Mxf1nXw8IZYstmwgSfNzj6DnNygtyyU61XmP72VBOM8sXaiqx5H3sOalk7CnL9GLH46e6AQgmqW9ZYl8SyMBg/tWOQrw5E8r7frzqPSyoiY6rUhfpld2FOHaSPfLNlhuns60CHNQ718xySZ0Q9yoBu4hTEkQKnUR0duA==; 31:nMU7EMgCjOyx835cSVrnA/2KEGFa5igHQFhnCxVFfJodutg7ppJWDYyjx5djYHjVZ0O3lX7UoD4LvIkzp7zlTgAfWUWaODApeMyFvSAhiyWV6pW3S1U4jcjsmxWCN73uo/28N47nLCTrinnwq9YJ6GQ7D6X8wuePAYSJzWx2FCfSux8WCPlGLQ3SBaShrYmUtiwmFIT+8ITICPyivUj+RHUOxvBs/UdfSEbyvK8io7Q= X-MS-TrafficTypeDiagnostic: CY4PR0701MB3666: X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3666; 20:z5R0JnCjhjDWESsgKJPTthdWZk/u4H8WcQCPHb305h0K1/qe2eUiuYWMSb4yDvdYVWSHgX3D740v4jq/dlQmH+jOgHUBhQrF4Q7vGZ8Aq/jEUgRWLYBqiXL7AKvj4okvxuwtsGW48umYs7ZJrSoQH/i05L76g1EKbVX/50mnJ0PY5VnN15PdooWk8/7ygNPBQMab/tLR5WlkqRbqJvYVH1xjrMtAQwNJ+cPHnTGnCj6K0Iowrcjf/nINMiZ5skEvzVVzHvkUEjThfj0T3bNkZR3VZT/m2/iqZD63tERuswwF6Kkzd4zGwEYGK+nK8m01zzXs34DEPValytdf3dy6spCdrGBadpuIbziCkEI0odqgwYKu5lAU02W9D9q6HhpmmaOGxGw8sXtYNnxkiW2TnVNh62X5ToMqULYBJOWxuzJFnjgaBXEplyjv1mQPCQCRflzM7zyAJM90FuXtTMH8Hy4F09pJ4y3ACjy0nIfs09oQsNUQxksB34wCBrHvvVl9; 4:ES3B0rs1n/CvnUkFdBK4f3WMoQNGI4wStBEOURQrSWWNkQr6GeZSrWRJ36BRrhMsoNPEK+gRUcSYfLkgQaHBxqDzOdOOtVCp2na6O95qrW5IlcLRrta/Tq3ePkCsSZ456vEO4BP24zsg981lIk3oIx3SsDjacHmAZtkoKkAgJiiGCbvpoGzrpM7HeGKuzTfK3GPQOkL1rFUgpQPI9WoV5T2Vg8nKzHXtZ7U2cJccdLHFaSvZnApbBIxvqGG0YgdGi3hBvzrPLG6KA9ema8ZDBw== X-Microsoft-Antispam-PRVS: <CY4PR0701MB3666ECEA71C44DA9B44D7F809F620@CY4PR0701MB3666.namprd07.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(3002001)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:CY4PR0701MB3666; BCL:0; PCL:0; RULEID:; SRVR:CY4PR0701MB3666; X-Forefront-PRVS: 0690E5FF22 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(346002)(376002)(39840400004)(366004)(396003)(189003)(199004)(25786009)(51416003)(316002)(16586007)(8936002)(50226002)(81166006)(81156014)(8676002)(106356001)(68736007)(6116002)(48376002)(3846002)(59450400001)(5660300001)(386003)(69596002)(26005)(1857600001)(52116002)(6666003)(4720700003)(50466002)(47776003)(7696005)(16526019)(6916009)(186003)(66066001)(305945005)(7736002)(956004)(476003)(86362001)(2616005)(486006)(44832011)(105586002)(55016002)(2906002)(36756003)(72206003)(21086003)(97736004)(2351001)(2361001)(478600001)(53936002)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR0701MB3666; H:cavium.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR0701MB3666; 23:K8o6fXc+HZvcwfI/Fop+aDG85oy14juXGkK7py3?= lZDZZVTCrJcpEe0p3p2blWxQgBH4B//+VC8ixbV/6DLDu81RjspG8XbYmXPfUpQnpkUaO8sY5prOWD4DbjhKb6vUllGou3lBamJop+VJDwy/DxxDKJ61ROqBDirJIOsY85wkERYuzALfVDDB/VKCGdjSa5oPX22U1DrRIqpBCM2S4VW2qE/UvfVfxOocyzDPbVy17EXiTpGgqD7M7bo07JCfjk5cSj9A3Htk+ci1teiZ6sm7vSzDBueMPDPzEb7UFIPy1Z1AEDjPdGHgAh4MW27swQQcUUYPiAk7hrIGIFdsCRHYNIksZhWkssnJWjm18b0/bQzX0N+Tw4yD6jwSosOafo2z84xQ9S48UOAfsj2wQErubRNuPna1NQwEcDds+TgljziLPHn/IqhXUETuR0o2zibtE35MFT+JlzUhFrZ67aZN5HZVRA1aSyzl66u0F5PZImuf78twSjprOtBGCGb4jsZ34FW9GMbUDWelSFq/B7NFhkHwKEgFmZu8qGsiptNZtWxVEjW9AciSeb3D2Gd85zOYvdqchf5JnKqmZRA4ZvsF5J82JaWwpSHu8MCkqRhk8LpGxIN6ie+ex6S+mpGY9IiqvCZ6X/wBKikiutMuCMx+fjX1jCL2o7eYrcVXefBXDxJxXYKfoul4iqcUlc96nIkr5kem+G+uJfYiThkTi4BHvsZgq4CY19epkOBJt3+1Av91KCi/2xxNHTCE4S7MyReJzUBnzjc9T4FP03F9hTcoFMB67zKBuMAuL76HB/KODdakBMCMcTFeunCNKqXa0RAkBxD5ExkGvjW49BnRq4uTm5euvR3XLHaJyK75AKaK95QupQXnJY1WU34o3u5YT1oMy/oxTj6RBxtum/dcam2CCc42BOiCcF7jCDiSNIzUuAFFS/n/8kmaYJVcFoPXGJ1MuU0TFLAGIyVTLW14opl9vm+aYRZxx4Lc1xl2OGzxmrXU6Vrn61s+cT0wdDBGrgAw48P09ZT8M/XDJ8WD98YYSw6BkS1JmQQQnU2dMSJLRfemd3Sy7lSnaMzq74N+M2N7fAKOdle1zuYqDIIh+xpB/TwgNH7qRx0SfCOPLyJuNnFJBzWWxifjRpxSB9SnCMmv9uFAmktpj8yY+evDachshwSswcJPNWhOEyM762ShCKqu7Z6hBkJKJ/NV5Pl6OctDG+IqYmBjQ0HS8TKMM7GvNS8mBhoEnw5SpPZHwRtfZ3poPD2WvyZZ0vbk1+IAi+qPF/dftd+INmuhb4ILTqp4/+7ktBYinP2K74FVCO94= X-Microsoft-Antispam-Message-Info: TfrQCEUtol2HAtWx+h/o4W8iKIsO8USWAvhJSYDfNNKoDPaXcQ9noGqXLg3kNKi/zmfbv49x+9+OAIe+OnRxKk7KH5wC14Xd0XsTMKNkIAQZQNRMdNCW+Z9NjI3hQqjgGEUWpUEWMvVFUfaFvIVq8dW9fVcfpRbuEFK7qBZbZ/JbNBZ84ybCwNmg9f/DCIEX X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3666; 6:xcfciDAe53tLC8JAIjZBrJNyPLqKl5CBmjjyoSzDvAj8ahv6ujOjMDmDbHKAGnL69Thcx+wK90ZYsmjEhNzN/3y0KY3DoZ/wSUObBTtM4zfMuciK5o9aFvnmUFJs1WXY09OuK62tE/PevCejmpaiiME3qwJLB3qCjNZaGO2qejpWkR2I3vpSGn+7zclZmmcE5Y0upju02khZX84+T9VdHOTAq51N1yffRLbYLjGFUviMn/5TNCLS8d8tir54UW8oCu3j/S9mhtFqk/EfFMGfqoe2mlj4lB6HKE0WTsG0u9glJAxCc+Crp6J301rHh0bm1HKPuloxZb87ONY742vbotxxunt13AJq8mqexKkC+6NE/Z1Tii2ieC1E02JD5Y6lq28+44MLIJ7RYCsduC8TkRpoTZXO45MQzC0ybXOCwTggvpKd2oi4VRqIR2UKaKZlqFov2Bo4DU8zfEuFhOAetQ==; 5:5gefpuTRDCDnfHlVkQTbxjljjGJpZFIC7UPT5ZYQw0AAHLBJne+Nnehx8a43FsTMtQc0QOCUhvNb75bXsOQdpRgJn6a6GPYQi+sVQ7ZyCrKqIyOoxvoEOflhFyjDuZymI7K0pVZyW7AMH+rT8mh0pSR581rRSeKmGJPpJre7y7U=; 24:2X2iDUnGTcjMzq3yTB8BfatUm/lpauqYASM52cxZSXedU+R6zBajG9QsNNBTOqF7wGa4ilrHyO1rm/skjp5aiJcyG0Kc60/f7KPUGVmJ0Bk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3666; 7:5ABb2+ukCT1naKWsA1uEzQOMch2yxofsI1jYQakgTC2t6+i8N0r9Bhzxrm+YYfcdzee55tUNd2sAQglj1Y8AzHxbWvzVdTJGwdxNBxFGrlfO8XSmmqxw9INNjcycgmvv4negUIQvCWCMQQ1eqD03oiTc2fXcVNo20Ifp0DYPDSPXQLDjTPH0mbdBOTyhxmarlfUpN9pWVUU+ULBYqrKBOnz4lW6W2DkarYg+JgEshNisHb2WC9h9yqXm6NyRZmhM X-MS-Office365-Filtering-Correlation-Id: 39a9aae4-22d6-4eca-7a9e-08d5c7e3bdd3 X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2018 17:18:49.4797 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 39a9aae4-22d6-4eca-7a9e-08d5c7e3bdd3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR0701MB3666 Subject: [dpdk-dev] [PATCH] net/qede: fix L2-handles used for RSS hash update X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Checks
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | success | Compilation OK |
Commit Message
Mody, Rasesh
June 1, 2018, 5:16 p.m. UTC
Fix fast path array index which is used for passing L2 handles to RSS
indirection table. Currently, it is using the local copy of indirection
table. When the RX queue configuration changes the local copy becomes
invalid.
Fixes: 69d7ba88f1a1 ("net/qede/base: use L2-handles for RSS configuration")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
---
drivers/net/qede/qede_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On 06/01/2018 06:16 PM, Rasesh Mody wrote: > Fix fast path array index which is used for passing L2 handles to RSS > indirection table. Currently, it is using the local copy of indirection > table. When the RX queue configuration changes the local copy becomes > invalid. > > Fixes: 69d7ba88f1a1 ("net/qede/base: use L2-handles for RSS configuration") > Cc: stable@dpdk.org > > Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com> > --- > drivers/net/qede/qede_ethdev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c > index 3206cc6..6e9e76d 100644 > --- a/drivers/net/qede/qede_ethdev.c > +++ b/drivers/net/qede/qede_ethdev.c > @@ -2210,7 +2210,7 @@ int qede_rss_hash_update(struct rte_eth_dev *eth_dev, > vport_update_params.vport_id = 0; > /* pass the L2 handles instead of qids */ > for (i = 0 ; i < ECORE_RSS_IND_TABLE_SIZE ; i++) { > - idx = qdev->rss_ind_table[i]; > + idx = ECORE_RSS_IND_TABLE_SIZE % QEDE_RSS_COUNT(qdev); > rss_params.rss_ind_table[i] = qdev->fp_array[idx].rxq->handle; hi, idx never changes in the loop, so the same rxq handle is in every rss_ind_table entry - is it right? > } > vport_update_params.rss_params = &rss_params; >
> From: Kevin Traynor [mailto:ktraynor@redhat.com] > Sent: Tuesday, June 05, 2018 6:40 AM > > On 06/01/2018 06:16 PM, Rasesh Mody wrote: > > Fix fast path array index which is used for passing L2 handles to RSS > > indirection table. Currently, it is using the local copy of > > indirection table. When the RX queue configuration changes the local > > copy becomes invalid. > > > > Fixes: 69d7ba88f1a1 ("net/qede/base: use L2-handles for RSS > > configuration") > > Cc: stable@dpdk.org > > > > Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com> > > --- > > drivers/net/qede/qede_ethdev.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/qede/qede_ethdev.c > > b/drivers/net/qede/qede_ethdev.c index 3206cc6..6e9e76d 100644 > > --- a/drivers/net/qede/qede_ethdev.c > > +++ b/drivers/net/qede/qede_ethdev.c > > @@ -2210,7 +2210,7 @@ int qede_rss_hash_update(struct rte_eth_dev > *eth_dev, > > vport_update_params.vport_id = 0; > > /* pass the L2 handles instead of qids */ > > for (i = 0 ; i < ECORE_RSS_IND_TABLE_SIZE ; i++) { > > - idx = qdev->rss_ind_table[i]; > > + idx = ECORE_RSS_IND_TABLE_SIZE % > QEDE_RSS_COUNT(qdev); > > rss_params.rss_ind_table[i] = qdev->fp_array[idx].rxq- > >handle; > > hi, idx never changes in the loop, so the same rxq handle is in every > rss_ind_table entry - is it right? The idx depends on number of RXQs. If a single RXQ is configured then idx does not change in the loop, in which case same RXQ handle is in every entry. Thanks! -Rasesh > > > } > > vport_update_params.rss_params = &rss_params; > >
On 06/05/2018 05:16 PM, Mody, Rasesh wrote: >> From: Kevin Traynor [mailto:ktraynor@redhat.com] >> Sent: Tuesday, June 05, 2018 6:40 AM >> >> On 06/01/2018 06:16 PM, Rasesh Mody wrote: >>> Fix fast path array index which is used for passing L2 handles to RSS >>> indirection table. Currently, it is using the local copy of >>> indirection table. When the RX queue configuration changes the local >>> copy becomes invalid. >>> >>> Fixes: 69d7ba88f1a1 ("net/qede/base: use L2-handles for RSS >>> configuration") >>> Cc: stable@dpdk.org >>> >>> Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com> >>> --- >>> drivers/net/qede/qede_ethdev.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/net/qede/qede_ethdev.c >>> b/drivers/net/qede/qede_ethdev.c index 3206cc6..6e9e76d 100644 >>> --- a/drivers/net/qede/qede_ethdev.c >>> +++ b/drivers/net/qede/qede_ethdev.c >>> @@ -2210,7 +2210,7 @@ int qede_rss_hash_update(struct rte_eth_dev >> *eth_dev, >>> vport_update_params.vport_id = 0; >>> /* pass the L2 handles instead of qids */ >>> for (i = 0 ; i < ECORE_RSS_IND_TABLE_SIZE ; i++) { >>> - idx = qdev->rss_ind_table[i]; >>> + idx = ECORE_RSS_IND_TABLE_SIZE % >> QEDE_RSS_COUNT(qdev); >>> rss_params.rss_ind_table[i] = qdev->fp_array[idx].rxq- >>> handle; >> >> hi, idx never changes in the loop, so the same rxq handle is in every >> rss_ind_table entry - is it right? > > The idx depends on number of RXQs. If a single RXQ is configured then idx does not change in the loop, in which case same RXQ handle is in every entry. The value depends on number of Rxqs, but that value will not change for each of 128 iterations *regardless* of the number of Rxq's configured (assuming that will be static during the loop). Perhaps that's what you want, but it looks odd to be calculating the idx in each loop iteration when it won't change. idx = ECORE_RSS_IND_TABLE_SIZE % QEDE_RSS_COUNT(qdev) => idx = 128 % qdev->num_rx_queues > > Thanks! > -Rasesh >> >>> } >>> vport_update_params.rss_params = &rss_params; >>> >
> From: Kevin Traynor [mailto:ktraynor@redhat.com] > Sent: Tuesday, June 05, 2018 9:42 AM > > On 06/05/2018 05:16 PM, Mody, Rasesh wrote: > >> From: Kevin Traynor [mailto:ktraynor@redhat.com] > >> Sent: Tuesday, June 05, 2018 6:40 AM > >> > >> On 06/01/2018 06:16 PM, Rasesh Mody wrote: > >>> Fix fast path array index which is used for passing L2 handles to > >>> RSS indirection table. Currently, it is using the local copy of > >>> indirection table. When the RX queue configuration changes the local > >>> copy becomes invalid. > >>> > >>> Fixes: 69d7ba88f1a1 ("net/qede/base: use L2-handles for RSS > >>> configuration") > >>> Cc: stable@dpdk.org > >>> > >>> Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com> > >>> --- > >>> drivers/net/qede/qede_ethdev.c | 2 +- > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>> > >>> diff --git a/drivers/net/qede/qede_ethdev.c > >>> b/drivers/net/qede/qede_ethdev.c index 3206cc6..6e9e76d 100644 > >>> --- a/drivers/net/qede/qede_ethdev.c > >>> +++ b/drivers/net/qede/qede_ethdev.c > >>> @@ -2210,7 +2210,7 @@ int qede_rss_hash_update(struct rte_eth_dev > >> *eth_dev, > >>> vport_update_params.vport_id = 0; > >>> /* pass the L2 handles instead of qids */ > >>> for (i = 0 ; i < ECORE_RSS_IND_TABLE_SIZE ; i++) { > >>> - idx = qdev->rss_ind_table[i]; > >>> + idx = ECORE_RSS_IND_TABLE_SIZE % > >> QEDE_RSS_COUNT(qdev); > >>> rss_params.rss_ind_table[i] = qdev->fp_array[idx].rxq- > handle; > >> > >> hi, idx never changes in the loop, so the same rxq handle is in every > >> rss_ind_table entry - is it right? > > > > The idx depends on number of RXQs. If a single RXQ is configured then idx > does not change in the loop, in which case same RXQ handle is in every > entry. > > The value depends on number of Rxqs, but that value will not change for > each of 128 iterations *regardless* of the number of Rxq's configured > (assuming that will be static during the loop). Perhaps that's what you want, > but it looks odd to be calculating the idx in each loop iteration when it won't > change. I see what you are saying, will send a revised patch, thanks. > > idx = ECORE_RSS_IND_TABLE_SIZE % QEDE_RSS_COUNT(qdev) > > => > > idx = 128 % qdev->num_rx_queues > > > > > Thanks! > > -Rasesh > >> > >>> } > >>> vport_update_params.rss_params = &rss_params; > >>> > >
diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 3206cc6..6e9e76d 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c @@ -2210,7 +2210,7 @@ int qede_rss_hash_update(struct rte_eth_dev *eth_dev, vport_update_params.vport_id = 0; /* pass the L2 handles instead of qids */ for (i = 0 ; i < ECORE_RSS_IND_TABLE_SIZE ; i++) { - idx = qdev->rss_ind_table[i]; + idx = ECORE_RSS_IND_TABLE_SIZE % QEDE_RSS_COUNT(qdev); rss_params.rss_ind_table[i] = qdev->fp_array[idx].rxq->handle; } vport_update_params.rss_params = &rss_params;