Thread (17 messages) flat view 17 messages, 4 authors, 2017-03-08

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

From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2017-03-06 18:06:18

On Mon, Mar 6, 2017 at 12:43 PM, Willem de Bruijn
[off-list ref] wrote:
quoted
quoted
+static void virtnet_poll_cleantx(struct receive_queue *rq)
+{
+       struct virtnet_info *vi = rq->vq->vdev->priv;
+       unsigned int index = vq2rxq(rq->vq);
+       struct send_queue *sq = &vi->sq[index];
+       struct netdev_queue *txq = netdev_get_tx_queue(vi->dev, index);
+
+       __netif_tx_lock(txq, smp_processor_id());
+       free_old_xmit_skbs(sq, sq->napi.weight);
+       __netif_tx_unlock(txq);

Should we check tx napi weight here? Or this was treated as an independent
optimization?
Good point. This was not intended to run in no-napi mode as is.
With interrupts disabled most of the time in that mode, I don't
expect it to be worthwhile using in that case. I'll add the check
for sq->napi.weight != 0.
I'm wrong here. Rx interrupts are not disabled, of course. It is
probably worth benchmarking, then.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help