Thread (18 messages) 18 messages, 3 authors, 2022-02-19

Re: [PATCH net-next 1/2] sfc: default config to 1 channel/core in local NUMA node only

From: Jakub Kicinski <kuba@kernel.org>
Date: 2022-02-10 16:22:55

On Thu, 10 Feb 2022 10:35:53 +0100 Íñigo Huguet wrote:
On Mon, Feb 7, 2022 at 5:53 PM Jakub Kicinski [off-list ref] wrote:
quoted
On Mon, 7 Feb 2022 16:03:01 +0100 Íñigo Huguet wrote:  
quoted
I have a few busy weeks coming, but I can do this after that.

With num_cores / 2 you divide by 2 because you're assuming 2 NUMA
nodes, or just the plain number 2?  
Plain number 2, it's just a heuristic which seems to work okay.
One queue per core (IOW without the /2) is still way too many queues
for normal DC workloads.
Maybe it's because of being quite special workloads, but I have
encountered problems related to queues in different NUMA nodes in 2
cases: XDP performance being almost half with more RX queues because
of being in different node (the example in my patches) and a customer
losing UDP packets which was solved reducing the number of RX queues
so all them are in the same node.
Right, no argument, NUMA tuning will still be necessary. 
I'm primarily concerned about providing a sensible default
for workloads which are not network heavy and therefore
nobody spends time tuning their queue configuration.
Any network-heavy workload will likely always benefit from tuning.

The status quo is that our current default returned by
netif_get_num_default_rss_queues() is 8 which is inadequate 
for modern servers, and people end up implementing their own
logic in the drivers.

I'm fine with sfc doing its own thing (at least for now) and 
therefore your patches as they are, but for new drivers I want
to be able to recommend netif_get_num_default_rss_queues() with
a clear conscience.

Does that make sense?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help