[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250521-enic_min_8rq-v1-1-691bd2353273@cisco.com>
Date: Wed, 21 May 2025 01:19:29 +0000
From: Nelson Escobar <neescoba@...co.com>
To: Christian Benvenuti <benve@...co.com>,
Satish Kharat <satishkh@...co.com>, Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
John Daley <johndale@...co.com>, Nelson Escobar <neescoba@...co.com>
Subject: [PATCH net-next] net/enic: Allow at least 8 RQs to always be used
Enic started using netif_get_num_default_rss_queues() to set the number
of RQs used in commit cc94d6c4d40c ("enic: Adjust used MSI-X
wq/rq/cq/interrupt resources in a more robust way")
This resulted in machines with less than 16 cpus using less than 8 RQs.
Allow enic to use at least 8 RQs no matter how many cpus are in the
machine to not impact existing enic workloads after a kernel upgrade.
Reviewed-by: John Daley <johndale@...co.com>
Reviewed-by: Satish Kharat <satishkh@...co.com>
Signed-off-by: Nelson Escobar <neescoba@...co.com>
---
drivers/net/ethernet/cisco/enic/enic.h | 1 +
drivers/net/ethernet/cisco/enic/enic_main.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/cisco/enic/enic.h b/drivers/net/ethernet/cisco/enic/enic.h
index 9c12e967e9f1299e1cf3e280a16fb9bf93ac607b..301b3f3114afa8f60c34c05661ee3cf67d4d6808 100644
--- a/drivers/net/ethernet/cisco/enic/enic.h
+++ b/drivers/net/ethernet/cisco/enic/enic.h
@@ -26,6 +26,7 @@
#define ENIC_WQ_MAX 256
#define ENIC_RQ_MAX 256
+#define ENIC_RQ_MIN_DEFAULT 8
#define ENIC_WQ_NAPI_BUDGET 256
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c
index c753c35b26ebd12c500f2056b3eb583de8c6b076..6ef8a0d90bce38781d931f62518cf9bafb223288 100644
--- a/drivers/net/ethernet/cisco/enic/enic_main.c
+++ b/drivers/net/ethernet/cisco/enic/enic_main.c
@@ -2296,7 +2296,8 @@ static int enic_adjust_resources(struct enic *enic)
* used based on which resource is the most constrained
*/
wq_avail = min(enic->wq_avail, ENIC_WQ_MAX);
- rq_default = netif_get_num_default_rss_queues();
+ rq_default = max(netif_get_num_default_rss_queues(),
+ ENIC_RQ_MIN_DEFAULT);
rq_avail = min3(enic->rq_avail, ENIC_RQ_MAX, rq_default);
max_queues = min(enic->cq_avail,
enic->intr_avail - ENIC_MSIX_RESERVED_INTR);
---
base-commit: ae605349e1fa5a29cdeecf52f92aa76850900d90
change-id: 20250513-enic_min_8rq-421f23897dc2
Best regards,
--
Nelson Escobar <neescoba@...co.com>
Powered by blists - more mailing lists