v2: * Simplify s->rq live migration [Paolo] * Use more efficient bitmap ops for batch notification [Paolo] * Fix perf regression due to batch notify BH in wrong AioContext [Christian]
The virtio_blk guest driver has supported multiple virtqueues since Linux 3.17. This patch series adds multiple virtqueues to QEMU's virtio-blk emulated device. Ming Lei sent patches previously but these were not merged. This series implements virtio-blk multiqueue for QEMU from scratch since the codebase has changed. Live migration support for s->rq was also missing from the previous series and has been added. It's important to note that QEMU's block layer does not support multiqueue yet. Therefore virtio-blk device processes all virtqueues in the same AioContext (IOThread). Further work is necessary to take advantage of multiqueue support in QEMU's block layer once it becomes available. I will post performance results once they are ready. Stefan Hajnoczi (8): virtio-blk: use batch notify in non-dataplane case virtio-blk: tell dataplane which vq to notify virtio-blk: associate request with a virtqueue virtio-blk: add VirtIOBlockConf->num_queues virtio-blk: multiqueue batch notify virtio-blk: live migrateion s->rq with multiqueue virtio-blk: dataplane multiqueue support virtio-blk: add num-queues device property hw/block/dataplane/virtio-blk.c | 68 +++++++++++---------- hw/block/dataplane/virtio-blk.h | 2 +- hw/block/virtio-blk.c | 129 +++++++++++++++++++++++++++++++++++----- include/hw/virtio/virtio-blk.h | 8 ++- 4 files changed, 159 insertions(+), 48 deletions(-) -- 2.5.5