An In-Kernel Virtio Block Device Accelerator For Linux

Written by Michael Larabel in Linux Kernel on 2 December 2012 at 05:42 AM EST. 2 Comments
LINUX KERNEL
For the past several months there has been work on vhost-blk, an in-kernel virito-blk device accelerator. This kernel-based accelerator can provide measurable speed-ups for disk/block device access by virtualized guest machines.

From the latest vhost-blk patch: "Due to lack of proper in-kernel AIO interface, this version converts guest's I/O request to bio and use submit_bio() to submit I/O directly. So this version any supports raw block device as guest's disk image, e.g. /dev/sda, /dev/ram0. We can add file based image support to vhost-blk once we have in-kernel AIO interface."

In terms of handling an in-kernel AIO interface, there's also patches floating around.

The original vhost-blk support patch, which amounts to a few hundred lines of new code in the Linux kernel, amounted to 5~15% performance improvements compared to the user-space virtio-blk implementation. Performance results on the latest vhost-blk v6 patch indicate performance improvements from +13~108% on a Fusion I/O device or up to a 216% performance improvement when dealing with a Ramdisk device.

It's possible we could see vhost-blk support merged into the Linux 3.8 kernel.
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