Description of problem:
While running I/O workloads on RHEL 7.1 VM on RHEL 7.1 host using qemu-kvm-rhev:
We realised aio=native is 50% lesser than aio=threads. There are several requests to process. But AIO is proceesing one at a time.
Systemtap logs to monitor
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Start RHEL7.1 VM on RHEL7.1 host with qemu-kvm-rhev
2. Trigger any IO workload on VM start reading from a disk in chunks. For ex: 4K sequential read.
3. Monitor systemtap traces for io_submit
AIO processing only one request
AIO should batch IO reqeusts/
stefan has provided upstream fix for this.
Commit id: fc73548e444ae3239f6cef44a5200b5d2c3e85d1
The raw-posix block driver implements Linux AIO batching so multiple
requests can be submitted with a single io_submit(2) system call.
Batching is currently only used by virtio-scsi and
Enable batching for regular virtio-blk so the number of io_submit(2)
system calls is reduced for workloads with queue depth > 1.
Commit fc73548e444ae3239f6cef44a5200b5d2c3e85d1 is included in qemu-kvm-rhev-2.5.0-1.el7. It was introduced as part of the QEMU 2.5 rebase.
Dropping RHEL 7.2.z flag. Unless there is a specific justification for z-stream this improvement can become available in RHEL 7.3.
*** Bug 1285624 has been marked as a duplicate of this bug. ***
Created attachment 1202103 [details]
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.