summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2010-01-27 23:42:23 +0100
committerRusty Russell <rusty@rustcorp.com.au>2010-02-24 04:52:25 +0100
commitd57ed95da483418e8b0433da693c9168dd0a2df6 (patch)
tree0eb215813f3066bf634a395d02cf4aab3ba94fc6 /drivers/base
parentvirtio: remove bogus barriers from DEBUG version of virtio_ring.c (diff)
downloadlinux-d57ed95da483418e8b0433da693c9168dd0a2df6.tar.xz
linux-d57ed95da483418e8b0433da693c9168dd0a2df6.zip
virtio: use smp_XX barriers on SMP
virtio is communicating with a virtual "device" that actually runs on another host processor. Thus SMP barriers can be used to control memory access ordering. Where possible, we should use SMP barriers which are more lightweight than mandatory barriers, because mandatory barriers also control MMIO effects on accesses through relaxed memory I/O windows (which virtio does not use) (compare specifically smp_rmb and rmb on x86_64). We can't just use smp_mb and friends though, because we must force memory ordering even if guest is UP since host could be running on another CPU, but SMP barriers are defined to barrier() in that configuration. So, for UP fall back to mandatory barriers instead. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/base')
0 files changed, 0 insertions, 0 deletions