Created attachment 422972 [details]
Avoid zeroing every request structure in virtio-blk
Backport of upstream commit: de6c8042ec55da18702fa51f09072fcaa315edc3
This is a backport of a fix to not zero every request structure, but
only initialize the fields that are read. My testing using IOZone
on a ramdisk device shows a performance boost of 5-7% with this patch
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
The virtio-blk back end for qemu-kvm performed unnecessary zeroing of memory on every I/O request, which reduced virtual guest performance. With this update, the virtio-blk back end avoids spurious zeroing of request structures on each I/O request, with the result that guest performance is increased.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.