From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59900) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7YRj-0001HI-KK for qemu-devel@nongnu.org; Mon, 30 May 2016 21:26:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b7YRg-0002Qh-EC for qemu-devel@nongnu.org; Mon, 30 May 2016 21:26:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51850) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7YRg-0002QY-8r for qemu-devel@nongnu.org; Mon, 30 May 2016 21:26:12 -0400 From: Stefan Hajnoczi Date: Mon, 30 May 2016 18:25:58 -0700 Message-Id: <1464657966-26186-1-git-send-email-stefanha@redhat.com> Subject: [Qemu-devel] [PATCH v2 0/8] virtio-blk: multiqueue support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Roman Pen , Fam Zheng , Christian Borntraeger , Paolo Bonzini , Ming Lei , Stefan Hajnoczi 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