|
From: | Paolo Bonzini |
Subject: | Re: Accelerating non-standard disk types |
Date: | Tue, 17 May 2022 15:53:52 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 |
On 5/16/22 19:38, Raphael Norwitz wrote:
[1] Keep using the SCSI translation in QEMU but back vDisks with a vhost-user-scsi or vhost-user-blk backend device. [2] Implement SATA and IDE emulation with vfio-user (likely with an SPDK client?). [3] We've also been looking at your libblkio library. From your description in https://lists.gnu.org/archive/html/qemu-devel/2021-04/msg06146.html it sounds like it may definitely play a role here, and possibly provide the nessesary abstractions to back I/O from these emulated disks to any backends we may want?
First of all: have you benchmarked it? How much time is spent on MMIO vs. disk I/O?
Of the options above, the most interesting to me is to implement a vhost-user-blk/vhost-user-scsi backend in QEMU, similar to the NVMe one, that would translate I/O submissions to virtqueue (including polling and the like) and could be used with SATA.
For IDE specifically, I'm not sure how much it can be sped up since it has only 1 in-flight operation. I think using KVM coalesced I/O could provide an interesting boost (assuming instant or near-instant reply from the backend). If all you're interested in however is not really performance, but rather having a single "connection" to your back end, vhost-user is certainly an option.
Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |