[PATCH 0/2] block: change reqs_lock to QemuMutex

Stefan Hajnoczi posted 2 patches 9 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230808155852.2745350-1-stefanha@redhat.com
Maintainers: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Fam Zheng <fam@euphon.net>
include/block/block_int-common.h |  2 +-
block.c                          |  4 +++-
block/io.c                       | 30 ++++++++++++++++++------------
3 files changed, 22 insertions(+), 14 deletions(-)
[PATCH 0/2] block: change reqs_lock to QemuMutex
Posted by Stefan Hajnoczi 9 months, 2 weeks ago
As part of the ongoing multi-queue QEMU block layer work, I found that CoMutex
reqs_lock scales poorly when more IOThreads are added. These patches double
IOPS in the 4 IOThreads randread benchmark that I have been running with my
out-of-tree virtio-blk-iothread-vq-mapping branch
(https://gitlab.com/stefanha/qemu/-/commits/virtio-blk-iothread-vq-mapping).

These patches can be merged in preparation for virtio-blk multi-queue block
layer support.

Stefan Hajnoczi (2):
  block: minimize bs->reqs_lock section in tracked_request_end()
  block: change reqs_lock to QemuMutex

 include/block/block_int-common.h |  2 +-
 block.c                          |  4 +++-
 block/io.c                       | 30 ++++++++++++++++++------------
 3 files changed, 22 insertions(+), 14 deletions(-)

-- 
2.41.0
Re: [PATCH 0/2] block: change reqs_lock to QemuMutex
Posted by Kevin Wolf 9 months, 1 week ago
Am 08.08.2023 um 17:58 hat Stefan Hajnoczi geschrieben:
> As part of the ongoing multi-queue QEMU block layer work, I found that CoMutex
> reqs_lock scales poorly when more IOThreads are added. These patches double
> IOPS in the 4 IOThreads randread benchmark that I have been running with my
> out-of-tree virtio-blk-iothread-vq-mapping branch
> (https://gitlab.com/stefanha/qemu/-/commits/virtio-blk-iothread-vq-mapping).
> 
> These patches can be merged in preparation for virtio-blk multi-queue block
> layer support.

Thanks, applied to the block branch.

Kevin