diff options
| author | Stefan Hajnoczi <stefanha@redhat.com> | 2023-12-20 08:47:55 -0500 |
|---|---|---|
| committer | Kevin Wolf <kwolf@redhat.com> | 2023-12-21 22:49:28 +0100 |
| commit | b6948ab01df068bef591868c22d1f873d2d05cde (patch) | |
| tree | 0f4409771270ba5ed28e53f284c117b8400b062d /include/hw/virtio/virtio-blk.h | |
| parent | cf03a152c5d749fd0083bfe540df9524f1d2ff1d (diff) | |
| download | focaccia-qemu-b6948ab01df068bef591868c22d1f873d2d05cde.tar.gz focaccia-qemu-b6948ab01df068bef591868c22d1f873d2d05cde.zip | |
virtio-blk: add iothread-vq-mapping parameter
Add the iothread-vq-mapping parameter to assign virtqueues to IOThreads. Store the vq:AioContext mapping in the new struct VirtIOBlockDataPlane->vq_aio_context[] field and refactor the code to use the per-vq AioContext instead of the BlockDriverState's AioContext. Reimplement --device virtio-blk-pci,iothread= and non-IOThread mode by assigning all virtqueues to the IOThread and main loop's AioContext in vq_aio_context[], respectively. The comment in struct VirtIOBlockDataPlane about EventNotifiers is stale. Remove it. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-ID: <20231220134755.814917-5-stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'include/hw/virtio/virtio-blk.h')
| -rw-r--r-- | include/hw/virtio/virtio-blk.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/virtio/virtio-blk.h b/include/hw/virtio/virtio-blk.h index 9881009c22..5e4091e4da 100644 --- a/include/hw/virtio/virtio-blk.h +++ b/include/hw/virtio/virtio-blk.h @@ -21,6 +21,7 @@ #include "sysemu/block-backend.h" #include "sysemu/block-ram-registrar.h" #include "qom/object.h" +#include "qapi/qapi-types-virtio.h" #define TYPE_VIRTIO_BLK "virtio-blk-device" OBJECT_DECLARE_SIMPLE_TYPE(VirtIOBlock, VIRTIO_BLK) @@ -37,6 +38,7 @@ struct VirtIOBlkConf { BlockConf conf; IOThread *iothread; + IOThreadVirtQueueMappingList *iothread_vq_mapping_list; char *serial; uint32_t request_merging; uint16_t num_queues; |