drivers/net/ethernet/microsoft/mana/mana_en.c | 2 +- include/net/mana/mana.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
Set the default number of queues per vPort to MANA_DEF_NUM_QUEUES (16),
as 16 queues can achieve optimal throughput for typical workloads. Users
can increase the number of queues up to max_queues via ethtool if needed.
Signed-off-by: Long Li <longli@microsoft.com>
---
drivers/net/ethernet/microsoft/mana/mana_en.c | 2 +-
include/net/mana/mana.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c
index 49c65cc1697c..7cae8a7b9f31 100644
--- a/drivers/net/ethernet/microsoft/mana/mana_en.c
+++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
@@ -3357,7 +3357,7 @@ static int mana_probe_port(struct mana_context *ac, int port_idx,
apc->ac = ac;
apc->ndev = ndev;
apc->max_queues = gc->max_num_queues;
- apc->num_queues = gc->max_num_queues;
+ apc->num_queues = min(gc->max_num_queues, MANA_DEF_NUM_QUEUES);
apc->tx_queue_size = DEF_TX_BUFFERS_PER_QUEUE;
apc->rx_queue_size = DEF_RX_BUFFERS_PER_QUEUE;
apc->port_handle = INVALID_MANA_HANDLE;
diff --git a/include/net/mana/mana.h b/include/net/mana/mana.h
index 3336688fed5e..96d21cbbdee2 100644
--- a/include/net/mana/mana.h
+++ b/include/net/mana/mana.h
@@ -1007,6 +1007,7 @@ struct mana_deregister_filter_resp {
#define STATISTICS_FLAGS_TX_ERRORS_GDMA_ERROR 0x0000000004000000
#define MANA_MAX_NUM_QUEUES 64
+#define MANA_DEF_NUM_QUEUES 16
#define MANA_SHORT_VPORT_OFFSET_MAX ((1U << 8) - 1)
--
2.43.0
On Fri, Mar 20, 2026 at 04:30:27PM -0700, Long Li wrote: > Set the default number of queues per vPort to MANA_DEF_NUM_QUEUES (16), > as 16 queues can achieve optimal throughput for typical workloads. Users > can increase the number of queues up to max_queues via ethtool if needed. > > Signed-off-by: Long Li <longli@microsoft.com> > --- > drivers/net/ethernet/microsoft/mana/mana_en.c | 2 +- > include/net/mana/mana.h | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c > index 49c65cc1697c..7cae8a7b9f31 100644 > --- a/drivers/net/ethernet/microsoft/mana/mana_en.c > +++ b/drivers/net/ethernet/microsoft/mana/mana_en.c > @@ -3357,7 +3357,7 @@ static int mana_probe_port(struct mana_context *ac, int port_idx, > apc->ac = ac; > apc->ndev = ndev; > apc->max_queues = gc->max_num_queues; > - apc->num_queues = gc->max_num_queues; > + apc->num_queues = min(gc->max_num_queues, MANA_DEF_NUM_QUEUES); Hi Long Li, Maybe I am misunderstanding things. But it seems to me that this patch sets a ceiling on the default number of queues. Which is subtly different to setting the default. Even if not in practice if max_num_queues is never less than MANA_DEF_NUM_QUEUES. If so I'm wondering if you could tweak the commit message accordingly. > apc->tx_queue_size = DEF_TX_BUFFERS_PER_QUEUE; > apc->rx_queue_size = DEF_RX_BUFFERS_PER_QUEUE; > apc->port_handle = INVALID_MANA_HANDLE; ...
© 2016 - 2026 Red Hat, Inc.