From 246e31b73b55199b8f602e650c91b90768a5246a Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Mon, 1 Feb 2010 07:21:02 +0000 Subject: [PATCH] --- yaml --- r: 184107 b: refs/heads/master c: 5659338c88963ea791118e5e11e314b24f90c3eb h: refs/heads/master i: 184105: 3d1bed66e34029dcc12b2210342427bccb5b19c8 184103: 5a5eb95785ad472dd4f1ec2e0b8abd200bbaac33 v: v3 --- [refs] | 2 +- trunk/drivers/vhost/vhost.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index bc776cd90156..05da78de62db 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f10a1f2e7e93a35cb603b63090ff0e70a576a641 +refs/heads/master: 5659338c88963ea791118e5e11e314b24f90c3eb diff --git a/trunk/drivers/vhost/vhost.c b/trunk/drivers/vhost/vhost.c index c8c25dbc5857..6eb15259f5ae 100644 --- a/trunk/drivers/vhost/vhost.c +++ b/trunk/drivers/vhost/vhost.c @@ -685,7 +685,7 @@ int vhost_log_write(struct vhost_virtqueue *vq, struct vhost_log *log, int i, r; /* Make sure data written is seen before log. */ - wmb(); + smp_wmb(); for (i = 0; i < log_num; ++i) { u64 l = min(log[i].len, len); r = log_write(vq->log_base, log[i].addr, l); @@ -884,7 +884,7 @@ unsigned vhost_get_vq_desc(struct vhost_dev *dev, struct vhost_virtqueue *vq, return vq->num; /* Only get avail ring entries after they have been exposed by guest. */ - rmb(); + smp_rmb(); /* Grab the next descriptor number they're advertising, and increment * the index we've seen. */ @@ -996,14 +996,14 @@ int vhost_add_used(struct vhost_virtqueue *vq, unsigned int head, int len) return -EFAULT; } /* Make sure buffer is written before we update index. */ - wmb(); + smp_wmb(); if (put_user(vq->last_used_idx + 1, &vq->used->idx)) { vq_err(vq, "Failed to increment used idx"); return -EFAULT; } if (unlikely(vq->log_used)) { /* Make sure data is seen before log. */ - wmb(); + smp_wmb(); log_write(vq->log_base, vq->log_addr + sizeof *vq->used->ring * (vq->last_used_idx % vq->num), sizeof *vq->used->ring); @@ -1060,7 +1060,7 @@ bool vhost_enable_notify(struct vhost_virtqueue *vq) } /* They could have slipped one in as we were doing that: make * sure it's written, then check again. */ - mb(); + smp_mb(); r = get_user(avail_idx, &vq->avail->idx); if (r) { vq_err(vq, "Failed to check avail idx at %p: %d\n",