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 E14A245B50; Wed, 16 Oct 2024 10:15:47 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7C98C4021F; Wed, 16 Oct 2024 10:15:47 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2135.outbound.protection.outlook.com [40.107.236.135]) by mails.dpdk.org (Postfix) with ESMTP id C6F5C400D6 for ; Wed, 16 Oct 2024 10:15:46 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g8u4GzesOCb83VpVVRmoEPMjUfGK0hLBR/iSAjOVDRU5sfE3EvfGhvjudWTtp+zVYF+4B5BkE8RaHjMcbG9sMYOWd2AWuYm2D6JYwBQuMFhZql0zYKWLYVCfPxQkQD/vV8AsUzMJ0TjCIQAwXG984rthTwb/cNABt5nH9H5UI2opd2BEz0gs6xZ1F6e9BCWhljkcgFrMtIa5BN3wB8MIWJULWUttEdk8yAR3+CNW+c4an/L3Hsvwim/9ZRsbZ93AOxU5AKS/Y5ngPQxh+zTTstVKvh+R2VE4KKHjhSiwTa101i+EvAj64cu308b/HMX1zqDjRx26+PdVUb6SluhY6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=W21BRgyzXnAG2jq6UeFIQivuVsCCsd76RcIuwx0hgxg=; b=E4g//bm5QpnH2yTflK0rkiMMB5QKnXtSAxANJ7bcQT50RwZZKisFGFqXLQu/vG1PEeDX2qYEforkGqIePwjfppD53tb6wOwoHyL2ncL98dkKJklfrXGVOpmqXEqBK6WcQGNsOIeZiL6+MMm6W7sqgx41muCeqW4Ah58UZwcT5ID2u0ZXD56g57tyYyteyD9I/1vtl29C++MQU/18CBX1Q8MdAxeMa4N1ZG5OTpAYtrFHjf7JWAvbyz6an6kAnsI634Io7DYhrJCTiq2NAsBgVaz2g/XWGLPXkWfXeWuhJEAZUqC6RAdFBDiJ7o9ZK+Hd9Lr6HKI8D7A207DN7A8e5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W21BRgyzXnAG2jq6UeFIQivuVsCCsd76RcIuwx0hgxg=; b=blvIAIBAKScZ0Md52Tg+v0kdzzTe43F6Xfg7RXgFB9dEc9sowedH26o85ormz5DphY7J1xwJ0ojqTSFWLdF8GciHKFhEC/HVBgyGL3MV05O3I3D6wHgOSb7he6Ukt8CLabDZTj3Ap0zGoicPmO/0BGUoZlTRZajQQM/xoTIF0UY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SA1PR13MB5515.namprd13.prod.outlook.com (2603:10b6:806:232::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.26; Wed, 16 Oct 2024 08:15:43 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833%5]) with mapi id 15.20.8048.020; Wed, 16 Oct 2024 08:15:42 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Long Wu , Chaoyong He Subject: [PATCH] net/nfp: modify Rx buffer size setting logic Date: Wed, 16 Oct 2024 16:15:22 +0800 Message-Id: <20241016081522.4005003-1-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: TPYP295CA0006.TWNP295.PROD.OUTLOOK.COM (2603:1096:7d0:9::16) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SA1PR13MB5515:EE_ X-MS-Office365-Filtering-Correlation-Id: e654939f-68df-4301-459e-08dcedbaba5d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?BtuUGSRZgSCMs4MaiDTIzAD246lw0SrbEUUSwsVLQT6NGp5E4iY+A3+YmDo2?= =?us-ascii?Q?ji8cP7vzTXxDTjJYws31g+TMwC1V7rED05IXOOyKHKjP8rKaycjHqMG182kx?= =?us-ascii?Q?IUuXIYMSKOml8o/PV6bTTuuVoi9D1TtSnayssOsc7LmdCHpkwcciQmLoOUBs?= =?us-ascii?Q?xDcPzTAGeuqusWFv8pehTwJ4vfm1amx4+Gu17NwdOIrIZ12m2ZmaDgobI8f/?= =?us-ascii?Q?H4/JiSdjpYUsBOX57uS9PuYE2CPup3jpxjKjp44Az2/YPzf3JK9j1v3Wb4iP?= =?us-ascii?Q?xD+RVf8G9Yx9UyfZWWWfejwraED/vU/VjF52rSugYHWuB3BTh2wn8zxAsSQS?= =?us-ascii?Q?YYXtwuv4KNhRe7JjjfjRj/4W7M7rvyYk/peDvmenoVrATmyHg+I8fOi82NbK?= =?us-ascii?Q?u3N0xVmRUL7ikpp6Gg4+kTxQBkkUl0Wg8ShF78dEhoiAFKYIPZPgopv/Tq3s?= =?us-ascii?Q?DEj1WkazsGvVLgFvWg/MeEx59ocB43k65Vnyo81iD72LmZ1OttxSfefe0BBz?= =?us-ascii?Q?lM4bFxwm4OHWYEqaMGtJEoDd9SOGMNYzHVnA3iPPOLWZxZeBND6eUKYuBIOy?= =?us-ascii?Q?a5FRlDO2qKPChI6wMpUTMlLwuYsOoVOkGj8fkvXFehuhdrbs4o0GG2xyKpPJ?= =?us-ascii?Q?EF7dEvtmbmwWazZvNLuby5WcC5s39Tfn6CIHEoeldVJ4ClntWBXOc9LRZp6e?= =?us-ascii?Q?pLPe4lUc24VpsMtOiPniPZic8FO++X8xzUcr/9eXRYZ2std/YQFjxneDxvlM?= =?us-ascii?Q?Gd3Dcz2h0ps9YqgiA7N5LJRzctKe3u7t/Ts9+LlsJJBsnIOaIBKi4ymv8IgF?= =?us-ascii?Q?P0rbJ77fLU47f/BLzTNKwFlPLVCy+8BSDaPfPKY6T20lwnkPldHHO5DR8IAP?= =?us-ascii?Q?fwCNMMnwSv5TkHSVLD1Z1/j9jwT3seHAvACFvk5Ktoo5yQuS9Nu93DY6rdxe?= =?us-ascii?Q?zEkxZup+9jCP7/r7GRJJmBvIuNsnr0UyjwpK04zNL3x34EgVQsLKsDjvRX4k?= =?us-ascii?Q?cksolPubS1LlgCJLqdmbngcwwuC9BBn99kO4s5Sk6rXknwT4pbvQsxMbDs/k?= =?us-ascii?Q?ebYMd+ddqxIqShA5Y6aq18bmKWrKlkeMCewTwYyFPxd/HSNLJO3VZLEvNTig?= =?us-ascii?Q?Q2gLBPzlVL4jLToo3QiFExeTQ971k0ijiPqFDeYhBEMic2M/4z4NP3uJvNxN?= =?us-ascii?Q?62jOa34mJmFhMf2F06/TirS8Hbpzqs0ZbJguowEQjxEnRSrLeY7ywiE/rpEF?= =?us-ascii?Q?Y6NjYSKOOwdHoeGdy7nT3GFMEv4SWk0AMy7qoQJJpWAzS5WZ9KjzI5kOcYtQ?= =?us-ascii?Q?rQokL4wgAcl556xsD0UWm9W00L81rojTdu2/uKC02iJP1g=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(52116014)(366016)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QasNOY7KefiMS1ASzwcv2prqBKpawTTV7Lw8yqFeiwJyYmeNyjycJGxq0Ps2?= =?us-ascii?Q?aHu+OHiRDmn0LNWVNB1/KyBLAWBKLjJsCHJiFmMc8Gchb2ytMjDuOt8e/Onf?= =?us-ascii?Q?eI4KGPRyrYKBH4eBy5llZGNNw1cYQTAU0XVQQPm7nelT3zWJE9rxmeEenEiK?= =?us-ascii?Q?rHQ0G7KJq0Z+z/wozaN2/WyYfRxMbT0fmAt4L1pq9svB4k/q+dQ+4hp2A7je?= =?us-ascii?Q?FI6K/NszMy5ZFOQRND6Pr4h8ECocvEN8WEujoXykimoguilzSOMk5w8v49Sj?= =?us-ascii?Q?nFBCLRvo6JarT6UQoU/Kr+W2pg2LgK7rkZGRGjS4eYwX/ZtX6uV3xgoBpSe3?= =?us-ascii?Q?Uzhk2AUR8dHV8DsFl+9eQBaZjQmE0qc18PWb8GgdGS2qRGNDVQDi/uO/sPNz?= =?us-ascii?Q?FAZ48lczKpWlRhClzvS20kZtZn4uwCyshuVZ3laz66jb8GA/wDph2ktAWE2y?= =?us-ascii?Q?O56Ri66p9SXNAOAk+I7fue7i0UQ3ub1uq2RHZiKS2p7plpJ9Wk5HZpOsCWtF?= =?us-ascii?Q?veuVQaDgxgntERKnsE6zjvL0iWGspQCpQKcGvLpzhT9mo2LZoUncxr9uJV6F?= =?us-ascii?Q?An7wt7wQu0yCF+0/ry7Oa5hpqYGPUg6XM8wQ5KEjjNtB33dSdH8qbb1Hv80F?= =?us-ascii?Q?LpIagi2WrnspvVva8sliysXFyXHF2xo7UoQ5lYz59xZ6Nr+KkVFu31tkNt+y?= =?us-ascii?Q?s9kYhc/F5aB6OsGbAhaxeB1vyc63Z9L4U3lS+a0raEw/+G+v9j2Bi7wZl/kg?= =?us-ascii?Q?e3rDQO0SDrvM+3KrmHmyNP8RoM1mWO7eYgIGrOMuz5LAyr5/ZH+xuFxj2qA+?= =?us-ascii?Q?7W0Lm3ps4WJfDmKWxKZ3s27ZxYEjaawd4AAH7l7O4dI72h6+y6YMGcIMkNUb?= =?us-ascii?Q?at+UF/cvAOxzABZh+6VGLUMMyzoQU8cI0fUJhJwa4xn0OxkGNVPas/E5U+2u?= =?us-ascii?Q?GdE32nXCiHNvZEHMAf2foZWRDrVhZJGDECRSpaRQPj1s8cNkS24N2tg07O39?= =?us-ascii?Q?sxoUYTXPj+vRnbjgHsDHgMqYlBPyE9ltpdMKtR7i0TeKdXkwTBDNev8SZvZK?= =?us-ascii?Q?cV4nJc+dJuPvxU0oPYBvLX/aP5QpqDOSrOKvxByoUaDDX4SyhWGAkIzp9dEV?= =?us-ascii?Q?6bgoiGDm0XJ0poL6rjsefp7Et2RNHlPZ0/0Wb0iWWMZcfAJ7942Y2KirYVyq?= =?us-ascii?Q?x7Yj6epnR/miC/3HWma496H9gfF1zXadnoKuLCrcfm1UmczNG4/phMgZQMSp?= =?us-ascii?Q?58E1xcLU72/9aLAARizLb8pk431QGZoNlrZS3mEGo9CxDaOqgaTlV8+bj4IK?= =?us-ascii?Q?Yw6Obr1LeeZQhA8xx8zJzGV6uKz7NymNqqlisXICSZBPFn+v6l9A7WCPIKJL?= =?us-ascii?Q?pF2XAjXf4H621eVW1w3Zhn33TES2o0Fh1EfW0tokg34KSLFe1KumvspSW7UU?= =?us-ascii?Q?F48HTEKEPIK6EseH1Kwh+KeyzJUNF4qy5ObBwG0teusji80QmyOPULpFX5sv?= =?us-ascii?Q?NM2rNwYCIR2tlGxTFkbJ2kOfViP8oGfgTkaunMSb7lPWfguytSnwPGdURraF?= =?us-ascii?Q?7Fq+kGgwVNxd8UlVf7ZM/kh+w5TdSoJPzZ2wOtwiriCZQPu9Q6yisgEgx2Sx?= =?us-ascii?Q?CQ=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: e654939f-68df-4301-459e-08dcedbaba5d X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2024 08:15:42.8449 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6eAu3WkU0lhmlfomhsk9X3eM2fc79FmhU+u70+FfN6XZ6A+oXFl88UWSEa/ZjUYUfuyk2gdoT6nYcJgFVprjQmGL2JKiAPYOSzBr5lTNd4M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR13MB5515 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Long Wu In the previous logic, NFP driver would modify hardware Rx buffer size every time rxq was set. This will cause the setting of one Rx queue to affect all Rx queues, resulting in the card being unable to receive packets properly in some cases. Modify this logic so that after the first initialization, only when the Rx queue buffer size is greater than the current hardware set size will it be modified. Signed-off-by: Long Wu Reviewed-by: Chaoyong He --- drivers/net/nfp/nfp_net_common.h | 1 + drivers/net/nfp/nfp_rxtx.c | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/net/nfp/nfp_net_common.h b/drivers/net/nfp/nfp_net_common.h index d4fe8338b9..6291a794b2 100644 --- a/drivers/net/nfp/nfp_net_common.h +++ b/drivers/net/nfp/nfp_net_common.h @@ -239,6 +239,7 @@ struct nfp_net_hw { uint32_t max_tx_queues; uint32_t max_rx_queues; uint16_t flbufsz; + bool flbufsz_set_flag; uint16_t device_id; uint16_t vendor_id; uint16_t subsystem_device_id; diff --git a/drivers/net/nfp/nfp_rxtx.c b/drivers/net/nfp/nfp_rxtx.c index d101477161..740cc6eac7 100644 --- a/drivers/net/nfp/nfp_rxtx.c +++ b/drivers/net/nfp/nfp_rxtx.c @@ -591,6 +591,20 @@ nfp_net_reset_rx_queue(struct nfp_net_rxq *rxq) rxq->nb_rx_hold = 0; } +static void +nfp_rx_queue_setup_flbufsz(struct nfp_net_hw *hw, + struct nfp_net_rxq *rxq) +{ + if (!hw->flbufsz_set_flag) { + hw->flbufsz_set_flag = true; + hw->flbufsz = rxq->mbuf_size; + return; + } + + if (hw->flbufsz < rxq->mbuf_size) + hw->flbufsz = rxq->mbuf_size; +} + int nfp_net_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, @@ -649,7 +663,7 @@ nfp_net_rx_queue_setup(struct rte_eth_dev *dev, rxq->mem_pool = mp; rxq->mbuf_size = rxq->mem_pool->elt_size; rxq->mbuf_size -= (sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM); - hw->flbufsz = rxq->mbuf_size; + nfp_rx_queue_setup_flbufsz(hw, rxq); rxq->rx_count = nb_desc; rxq->port_id = dev->data->port_id; -- 2.39.1