> On Fri, 27 Mar 2026 04:00:31 +0000 Long Li wrote: > > We considered netif_get_num_default_rss_queues() but chose a fixed > default based on our performance testing. On Azure VMs, typical > > workloads plateau at around 16 queues - adding more queues beyond that > doesn't improve throughput but increases memory usage and > > interrupt overhead. > > > > netif_get_num_default_rss_queues() would return 32-64 on large VMs > (64-128 vCPUs), which wastes resources without benefit. > > > > That said, I agree that completely ignoring the core-based heuristic isn't > ideal for consistency. One option is to use > > netif_get_num_default_rss_queues() but clamp it to a maximum of > MANA_DEF_NUM_QUEUES (16), so small VMs still get enough queues and > > large VMs don't over-allocate. Something like: > > > > apc->num_queues = min(netif_get_num_default_rss_queues(), > MANA_DEF_NUM_QUEUES); > > apc->num_queues = min(apc->num_queues, gc->max_num_queues); > > > > For reference, it seems mlx4 does something similar - it caps at > DEF_RX_RINGS (16) regardless of core count. > > mlx4 is a bit ancient. And mlx5 does the wrong thing, which is why I'm so > sensitive to this issue :( > > > Do you want me to send a v2? > > Please send a follow up, let's leave this patch be and make an incremental > change. > > Thanks!
I will send a follow-up patch. Thanks, Long

