virtio: harsher barriers for rpmsg.
authorRusty Russell <rusty@rustcorp.com.au>
Thu, 12 Jan 2012 05:14:42 +0000 (15:14 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Thu, 12 Jan 2012 05:14:42 +0000 (15:14 +1030)
commit7b21e34fd1c272e3a8c3846168f2f6287a4cd72b
tree0f94c9f834f5b7cd8ba87168df892ed17b09cb8f
parente343a895a9f342f239c5e3c5ffc6c0b1707e6244
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>
drivers/lguest/lguest_device.c
drivers/s390/kvm/kvm_virtio.c
drivers/virtio/virtio_mmio.c
drivers/virtio/virtio_pci.c
drivers/virtio/virtio_ring.c
include/linux/virtio_ring.h
tools/virtio/linux/virtio.h
tools/virtio/virtio_test.c