IO_uring Passthrough For KVM Guests Is Yielding Fantastic Results

Written by Michael Larabel in Linux Storage on 1 November 2020 at 05:47 AM EST. 31 Comments
LINUX STORAGE
At the Linux Foundation's KVM Forum 2020 this week, Stefano Garzarella of Red Hat presented on the possibility of speeding up virtual machine I/O performance by sharing the host's IO_uring queues with guests. In doing so the virtual machines have near bare-metal performance with the proposed patches.

IO_uring has been one of the most incredible innovations to the Linux kernel of the past decade. New use-cases continue to be explored for this interface to allow for more efficient I/O. Those unfamiliar with IO_uring can see this whitepaper by Facebook's Jens Axboe who spearheaded the design and continues to advance its capabilities.

Garzarella at Red Hat has been exploring sharing of the IO_uring queues between the hosts and guests/VMs for improving I/O block performance without having to assign raw block devices to the VMs for getting near bare-metal speeds. Obviously though with the sharing of queues between the host and guests special precautions need to be taken for safety/security purposes.

With IO_uring passthrough, the submission and completion queues are memory mapped in the guest. With Linux 5.10 there is restrictions support added to IO_uring for handling use-cases such as this around untrusted applications/guests. Eventfd disabling is another recent feature for IO_uring that has come together for this effort. Other work is ongoing for this effort.

Those interested in all of the details can see this PDF slide deck from the KVM Forum 2020 presentation. But for end-users what is most interesting is how close the IO_uring passthrough takes it to near bare-metal I/O performance:



Damn nice job for all those involved in this effort and IO_uring.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week