On Tue, 2011-11-29 at 14:31 +0200, Ohad Ben-Cohen wrote: > Virtio is using memory barriers to control the ordering of > references to the vrings on SMP systems. When the guest is compiled > with SMP support, virtio is only using SMP barriers in order to > avoid incurring the overhead involved with mandatory barriers. > > Lately, though, virtio is being increasingly used with inter-processor > communication scenarios too, which involve running two (separate) > instances of operating systems on two (separate) processors, each of > which might either be UP or SMP. > > To control the ordering of memory references when the vrings are shared > between two external processors, we must always use mandatory barriers. > > A trivial, albeit sub-optimal, solution would be to simply revert > commit d57ed95 "virtio: use smp_XX barriers on SMP". Obviously, though, > that's going to have a negative impact on performance of SMP-based > virtualization use cases. Have you measured the impact of using normal barriers (non-SMP ones) like we use on normal HW drivers unconditionally ? IE. If the difference is small enough I'd say just go for it and avoid the bloat. Ben. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html