summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2012-01-12 15:44:43 +1030
committerRusty Russell <rusty@rustcorp.com.au>2012-01-12 15:44:43 +1030
commit41f0377f73039ca6fe97a469d1941a89cd9757f1 (patch)
tree380814eb3ad8092069c784539b5b88f8a9506240 /include/linux
parentf96fde41f7f9af6cf20f6a1919f5d9670f84d574 (diff)
downloadlwn-41f0377f73039ca6fe97a469d1941a89cd9757f1.tar.gz
lwn-41f0377f73039ca6fe97a469d1941a89cd9757f1.zip
virtio: support unlocked queue kick
Based on patch by Christoph for virtio_blk speedup: Split virtqueue_kick to be able to do the actual notification outside the lock protecting the virtqueue. This patch was originally done by Stefan Hajnoczi, but I can't find the original one anymore and had to recreated it from memory. Pointers to the original or corrections for the commit message are welcome. Stefan's patch was here: https://github.com/stefanha/linux/commit/a6d06644e3a58e57a774e77d7dc34c4a5a2e7496 http://www.spinics.net/lists/linux-virtualization/msg14616.html Third time's the charm! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/virtio.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/virtio.h b/include/linux/virtio.h
index ec1706e7df50..31fe3a62874b 100644
--- a/include/linux/virtio.h
+++ b/include/linux/virtio.h
@@ -34,6 +34,10 @@ int virtqueue_add_buf(struct virtqueue *vq,
void virtqueue_kick(struct virtqueue *vq);
+bool virtqueue_kick_prepare(struct virtqueue *vq);
+
+void virtqueue_notify(struct virtqueue *vq);
+
void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len);
void virtqueue_disable_cb(struct virtqueue *vq);