virtio: support unlocked queue poll
authorMichael S. Tsirkin <mst@redhat.com>
Tue, 9 Jul 2013 10:19:18 +0000 (13:19 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 2 Aug 2013 20:14:52 +0000 (22:14 +0200)
commit1e079ec5c16199e63c9c5e0e346a0fdf47681f32
tree0b1809dd5f7a761186dfd0030089435eeb4f9e6f
parent2f92512982ce9672ec70838ac7f2eea4fdb1d534
virtio: support unlocked queue poll

commit cc229884d3f77ec3b1240e467e0236c3e0647c0c upstream.

This adds a way to check ring empty state after enable_cb outside any
locks. Will be used by virtio_net.

Note: there's room for more optimization: caller is likely to have a
memory barrier already, which means we might be able to get rid of a
barrier here.  Deferring this optimization until we do some
benchmarking.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[wg: Backported to 3.2]
Signed-off-by: Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/virtio/virtio_ring.c
include/linux/virtio.h