> 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

Reply via email to