From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41931) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b3u27-0001R8-V5 for qemu-devel@nongnu.org; Fri, 20 May 2016 19:40:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b3u26-0006Qf-Vh for qemu-devel@nongnu.org; Fri, 20 May 2016 19:40:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54714) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b3u26-0006PP-Pe for qemu-devel@nongnu.org; Fri, 20 May 2016 19:40:42 -0400 From: Stefan Hajnoczi Date: Fri, 20 May 2016 16:40:23 -0700 Message-Id: <1463787632-7241-1-git-send-email-stefanha@redhat.com> Subject: [Qemu-devel] [PATCH 0/9] virtio-blk: multiqueue support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Ming Lei , Kevin Wolf , Fam Zheng , Stefan Hajnoczi 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 (9): 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 vmstate: add VMSTATE_VARRAY_UINT32_ALLOC virtio-blk: live migrate 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 | 200 ++++++++++++++++++++++++++++++++++++---- include/hw/virtio/virtio-blk.h | 13 ++- include/migration/vmstate.h | 10 ++ 5 files changed, 241 insertions(+), 52 deletions(-) -- 2.5.5