virtio_net: update tx timeout record
authorXuan Zhuo <xuanzhuo@linux.alibaba.com>
Tue, 12 Nov 2024 01:29:27 +0000 (09:29 +0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 16 Nov 2024 02:46:56 +0000 (18:46 -0800)
If send queue sent some packets, we update the tx timeout
record to prevent the tx timeout.

Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Link: https://patch.msgid.link/20241112012928.102478-13-xuanzhuo@linux.alibaba.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/virtio_net.c

index 57642bd..7db5867 100644 (file)
@@ -1509,6 +1509,13 @@ static bool virtnet_xsk_xmit(struct send_queue *sq, struct xsk_buff_pool *pool,
        if (!is_xdp_raw_buffer_queue(vi, sq - vi->sq))
                check_sq_full_and_disable(vi, vi->dev, sq);
 
+       if (sent) {
+               struct netdev_queue *txq;
+
+               txq = netdev_get_tx_queue(vi->dev, sq - vi->sq);
+               txq_trans_cond_update(txq);
+       }
+
        u64_stats_update_begin(&sq->stats.syncp);
        u64_stats_add(&sq->stats.packets, stats.packets);
        u64_stats_add(&sq->stats.bytes,   stats.bytes);