DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] vhost: flush used->idx update before reading avail->flags
@ 2015-04-22 16:33 Huawei Xie
  2015-04-23 13:57 ` Luke Gorrie
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: Huawei Xie @ 2015-04-22 16:33 UTC (permalink / raw)
  To: dev; +Cc: mst

update of used->idx and read of avail->flags could be reordered.
memory fence should be used to ensure the order, otherwise guest could see a stale used->idx value after it toggles the interrupt suppression flag.

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
---
 lib/librte_vhost/vhost_rxtx.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c
index 510ffe8..6afba35 100644
--- a/lib/librte_vhost/vhost_rxtx.c
+++ b/lib/librte_vhost/vhost_rxtx.c
@@ -178,6 +178,9 @@ virtio_dev_rx(struct virtio_net *dev, uint16_t queue_id,
 	*(volatile uint16_t *)&vq->used->idx += count;
 	vq->last_used_idx = res_end_idx;
 
+	/* flush used->idx update before we read avail->flags. */
+	rte_mb();
+
 	/* Kick the guest if necessary. */
 	if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT))
 		eventfd_write((int)vq->callfd, 1);
-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-06-11  0:51 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-22 16:33 [dpdk-dev] [PATCH] vhost: flush used->idx update before reading avail->flags Huawei Xie
2015-04-23 13:57 ` Luke Gorrie
2015-04-24  1:01 ` Linhaifeng
2015-04-24  2:40   ` Xie, Huawei
2015-04-24  7:27   ` Luke Gorrie
2015-06-09  7:04     ` Linhaifeng
2015-06-09  7:45       ` Luke Gorrie
2015-06-09  8:46       ` Michael S. Tsirkin
2015-06-09 13:34         ` Xie, Huawei
2015-06-10  2:36           ` Linhaifeng
2015-06-10  8:30         ` Luke Gorrie
2015-06-11  0:50           ` Linhaifeng
2015-04-29 11:11 ` [dpdk-dev] [PATCH v2] " Huawei Xie
2015-05-13 10:46   ` Thomas Monjalon
2015-05-15 13:43     ` Nikita Kalyazin
2015-05-15 15:23       ` Michael S. Tsirkin
2015-05-18  6:18         ` Nikita Kalyazin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).