Skip to content

virtio-blk: add iothread-vq-mapping parameter

Merge Request Required Information

Summary of Changes

Jira: https://issues.redhat.com/browse/RHEL-20764
Jira: https://issues.redhat.com/browse/RHEL-17369
Jira: https://issues.redhat.com/browse/RHEL-7356
Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=58547412
Upstream status: merged

This backport adds the new --device virtio-blk-pci,iothread-vq-mapping= parameter so that multiple IOThreads can process virtio-blk virtqueues. This feature solves the single IOThread performance bottleneck in QEMU's virtio-blk device.

The backport includes several fixes that were developed upstream, some by Kevin Wolf, for issues discovered by QE in the original iothread-vq-mapping patches. Some of the test fixes are mainly for the upstream CI and may not be strictly necessary downstream since we don't run the GitLab CI test suite. Nevertheless, it's easier to backport now than to hit issues in the future and have to search for the missing pieces.

I backported Stefan Weil's recent virtio_blk_data_plane_destroy() fix to avoid context conflicts in the backport. It's not directly related to this feature but is tint. It's simpler to backport it than to have a conflict.

Signed-off-by: Stefan Hajnoczi stefanha@redhat.com

Approved Development Ticket

All submissions to CentOS Stream must reference an approved ticket in Red Hat Jira. Please follow the CentOS Stream contribution documentation for how to file this ticket and have it approved.

https://issues.redhat.com/browse/RHEL-20764

Edited by Stefan Hajnoczi

Merge request reports

Loading