Thread (1 message) 1 message, 1 author, 2019-08-12

Re: [PATCH v3 2/2] virtio: decrement avail idx with buffer detach for packed ring

From: Pankaj Gupta <hidden>
Date: 2019-08-12 05:37:28
Also in: lkml

On 2019/8/9 下午2:48, Pankaj Gupta wrote:
quoted
This patch decrements 'next_avail_idx' count when detaching a buffer
from vq for packed ring code. Split ring code already does this in
virtqueue_detach_unused_buf_split function. This updates the
'next_avail_idx' to the previous correct index after an unused buffer
is detatched from the vq.

Signed-off-by: Pankaj Gupta <redacted>
---
  drivers/virtio/virtio_ring.c | 6 ++++++
  1 file changed, 6 insertions(+)
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index c8be1c4f5b55..7c69181113e2 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
@@ -1537,6 +1537,12 @@ static void
*virtqueue_detach_unused_buf_packed(struct virtqueue *_vq)
  		/* detach_buf clears data, so grab it now. */
  		buf = vq->packed.desc_state[i].data;
  		detach_buf_packed(vq, i, NULL);
+		vq->packed.next_avail_idx--;
+		if (vq->packed.next_avail_idx < 0) {
+			vq->packed.next_avail_idx = vq->packed.vring.num - 1;
+			vq->packed.avail_wrap_counter ^= 1;
+		}
+
  		END_USE(vq);
  		return buf;
  	}

Acked-by: Jason Wang <redacted>
Thank you, Jason.

Best regards,
Pankaj
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help