|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v3 4/4] drivers/virtio: Memory barrier before notifying host on virtqueue updates
Before notifying the virtio backend on the host we should make
sure that the virtqueue index update operation actually happened.
Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
---
plat/drivers/include/virtio/virtqueue.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/plat/drivers/include/virtio/virtqueue.h
b/plat/drivers/include/virtio/virtqueue.h
index a4181f57..f8b36348 100644
--- a/plat/drivers/include/virtio/virtqueue.h
+++ b/plat/drivers/include/virtio/virtqueue.h
@@ -233,6 +233,13 @@ static inline void virtqueue_host_notify(struct virtqueue
*vq)
{
UK_ASSERT(vq);
+ /*
+ * Before notifying the virtio backend on the host we should make sure
+ * that the virtqueue index update operation happened. Note that this
+ * function is declared as inline.
+ */
+ mb();
+
if (vq->vq_notify_host && virtqueue_notify_enabled(vq)) {
uk_pr_debug("notify queue %d\n", vq->queue_id);
vq->vq_notify_host(vq->vdev, vq->queue_id);
--
2.17.2 (Apple Git-113)
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |