Thread (23 messages) flat view 23 messages, 5 authors, 2021-07-13

Re: [PATCH 1/3] sfc: revert "reduce the number of requested xdp ev queues"

From: Edward Cree <ecree.xilinx@gmail.com>
Date: 2021-07-12 14:52:59
Also in: lkml

On 12/07/2021 14:40, Íñigo Huguet wrote:
That's a good idea, which in fact I had already considered, but I had
(almost) discarded because I still see there 2 problems:
1. If there are no free MSI-X vectors remaining at all,
XDP_TX/REDIRECT will still be disabled.
2. If the amount of free MSI-X vectors is little. Then, many CPUs will
be contending for very few queues/locks, not for normal traffic but
yes for XDP traffic. If someone wants to intensively use
XDP_TX/REDIRECT will get a very poor performance, with no option to
get a better tradeoff between normal and XDP traffic.
[snip]
So I think that we still need a last resort fallback of sharing TXQs
with network stack:
1. If there are enough resources: 1 queue per CPU for XDP
2. If there are not enough resources, but still a fair amount: many
queues dedicated only to XDP, with (hashed) locking contention
3. If there are not free resources, or there are very few: TXQs shared
for network core and XDP
I think the proper solution to this is to get this policy decision out
 of the kernel, and make the allocation of queues be under the control
 of userspace.  I recall some discussion a couple of years ago about
 "making queues a first-class citizen" for the sake of AF_XDP; this
 seems to be part and parcel of that.
But I don't know what such an interface would/should look like.

-ed
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help