Thread (12 messages) flat view 12 messages, 2 authors, 2017-04-07

Re: [PATCH net-next 3/3] virtio-net: clean tx descriptors from rx napi

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2017-04-07 19:28:49

On Mon, Apr 03, 2017 at 01:02:13AM -0400, Willem de Bruijn wrote:
On Sun, Apr 2, 2017 at 10:47 PM, Michael S. Tsirkin [off-list ref] wrote:
quoted
On Sun, Apr 02, 2017 at 04:10:12PM -0400, Willem de Bruijn wrote:
quoted
From: Willem de Bruijn <willemb@google.com>

Amortize the cost of virtual interrupts by doing both rx and tx work
on reception of a receive interrupt if tx napi is enabled. With
VIRTIO_F_EVENT_IDX, this suppresses most explicit tx completion
interrupts for bidirectional workloads.

Signed-off-by: Willem de Bruijn <willemb@google.com>
This is a popular approach, but I think this will only work well if tx
and rx interrupts are processed on the same CPU and if tx queue is per
cpu.  If they target different CPUs or if tx queue is used from multiple
CPUs they will conflict on the shared locks.

This can even change dynamically as CPUs/queues are reconfigured.
How about adding a flag and skipping the tx poll if there's no match?

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