aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2012-01-12 00:14:42 -0500
committerRusty Russell <rusty@rustcorp.com.au>2012-01-12 00:14:42 -0500
commit7b21e34fd1c272e3a8c3846168f2f6287a4cd72b (patch)
tree0f94c9f834f5b7cd8ba87168df892ed17b09cb8f /drivers/s390
parente343a895a9f342f239c5e3c5ffc6c0b1707e6244 (diff)
virtio: harsher barriers for rpmsg.
We were cheating with our barriers; using the smp ones rather than the real device ones. That was fine, until rpmsg came along, which is used to talk to a real device (a non-SMP CPU). Unfortunately, just putting back the real barriers (reverting d57ed95d) causes a performance regression on virtio-pci. In particular, Amos reports netbench's TCP_RR over virtio_net CPU utilization increased up to 35% while throughput went down by up to 14%. By comparison, this branch is in the noise. Reference: https://lkml.org/lkml/2011/12/11/22 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/s390')
-rw-r--r--drivers/s390/kvm/kvm_virtio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/kvm/kvm_virtio.c b/drivers/s390/kvm/kvm_virtio.c
index 8af868bab20b..7bc1955337ea 100644
--- a/drivers/s390/kvm/kvm_virtio.c
+++ b/drivers/s390/kvm/kvm_virtio.c
@@ -198,7 +198,7 @@ static struct virtqueue *kvm_find_vq(struct virtio_device *vdev,
198 goto out; 198 goto out;
199 199
200 vq = vring_new_virtqueue(config->num, KVM_S390_VIRTIO_RING_ALIGN, 200 vq = vring_new_virtqueue(config->num, KVM_S390_VIRTIO_RING_ALIGN,
201 vdev, (void *) config->address, 201 vdev, true, (void *) config->address,
202 kvm_notify, callback, name); 202 kvm_notify, callback, name);
203 if (!vq) { 203 if (!vq) {
204 err = -ENOMEM; 204 err = -ENOMEM;