Thread (32 messages) 32 messages, 4 authors, 2024-07-01

Re: [PATCH net-next v6 10/10] virtio_net: xsk: rx: free the unused xsk buffer

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2024-06-20 10:48:36
Also in: bpf, virtualization

On Thu, Jun 20, 2024 at 12:46:24PM +0200, Paolo Abeni wrote:
On Tue, 2024-06-18 at 15:56 +0800, Xuan Zhuo wrote:
quoted
Release the xsk buffer, when the queue is releasing or the queue is
resizing.

Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
---
 drivers/net/virtio_net.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index cfa106aa8039..33695b86bd99 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -967,6 +967,11 @@ static void virtnet_rq_unmap_free_buf(struct virtqueue *vq, void *buf)
 
 	rq = &vi->rq[i];
 
+	if (rq->xsk.pool) {
+		xsk_buff_free((struct xdp_buff *)buf);
+		return;
+	}
+
 	if (!vi->big_packets || vi->mergeable_rx_bufs)
 		virtnet_rq_unmap(rq, buf, 0);

I'm under the impression this should be squashed in a previous patch,
likely "virtio_net: xsk: bind/unbind xsk for rx"

Thanks,

Paolo

agreed, looks weird.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help