aboutsummaryrefslogtreecommitdiff
path: root/trace-events
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2012-11-14 15:15:50 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2013-01-02 15:55:47 +0100
commit88807f89d945acad54c8365ff7b6ef0f0d0ddd56 (patch)
tree2881d517920dc5c1737d9a1d422b4ff098525854 /trace-events
parent185ecf40e3589fc2717b0856ee1df05dd63a46dd (diff)
downloadqemu-88807f89d945acad54c8365ff7b6ef0f0d0ddd56.zip
qemu-88807f89d945acad54c8365ff7b6ef0f0d0ddd56.tar.gz
qemu-88807f89d945acad54c8365ff7b6ef0f0d0ddd56.tar.bz2
dataplane: add virtqueue vring code
The virtio-blk-data-plane cannot access memory using the usual QEMU functions since it executes outside the global mutex and the memory APIs are this time are not thread-safe. This patch introduces a virtqueue module based on the kernel's vhost vring code. The trick is that we map guest memory ahead of time and access it cheaply outside the global mutex. Once the hardware emulation code can execute outside the global mutex it will be possible to drop this code. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'trace-events')
-rw-r--r--trace-events3
1 files changed, 3 insertions, 0 deletions
diff --git a/trace-events b/trace-events
index bb7621e..167d776 100644
--- a/trace-events
+++ b/trace-events
@@ -98,6 +98,9 @@ virtio_blk_rw_complete(void *req, int ret) "req %p ret %d"
virtio_blk_handle_write(void *req, uint64_t sector, size_t nsectors) "req %p sector %"PRIu64" nsectors %zu"
virtio_blk_handle_read(void *req, uint64_t sector, size_t nsectors) "req %p sector %"PRIu64" nsectors %zu"
+# hw/dataplane/vring.c
+vring_setup(uint64_t physical, void *desc, void *avail, void *used) "vring physical %#"PRIx64" desc %p avail %p used %p"
+
# thread-pool.c
thread_pool_submit(void *req, void *opaque) "req %p opaque %p"
thread_pool_complete(void *req, void *opaque, int ret) "req %p opaque %p ret %d"