doc/virtio: minor doc updates

Reworded some sentences, updated current limitation
list, and dropped the outdated `Multiqueue` section.

Change-Id: Id57777430f00b80c68cadf4c600e4ec89fa3c4e0
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/397082
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Dariusz Stojaczyk 2018-01-30 13:53:45 +01:00 committed by Jim Harris
parent 11130d09c8
commit d9243af2b1

View File

@ -12,11 +12,6 @@ controller. The host, after sending I/O to the real drive, will put the response
back into the Virtio queue. Then, the response is received by the Virtio SCSI back into the Virtio queue. Then, the response is received by the Virtio SCSI
driver. driver.
The driver, just like the SPDK @ref vhost, is using pollers instead of standard
interrupts to check for an I/O response. It bypasses kernel interrupt and context
switching overhead of QEMU and guest kernel, significantly boosting the overall
I/O performance.
Virtio SCSI driver supports two different usage models: Virtio SCSI driver supports two different usage models:
* PCI - This is the standard mode of operation when used in a guest virtual * PCI - This is the standard mode of operation when used in a guest virtual
machine, where QEMU has presented the virtio-scsi controller as a virtual machine, where QEMU has presented the virtio-scsi controller as a virtual
@ -24,18 +19,14 @@ PCI device.
* User vhost - Can be used to connect to a vhost-scsi socket directly on the * User vhost - Can be used to connect to a vhost-scsi socket directly on the
same host. same host.
# Multiqueue {#virtio_multiqueue} The driver, just like the SPDK @ref vhost, is using pollers instead of standard
interrupts to check for an I/O response. If used inside a VM, it bypasses interrupt
The Virtio SCSI controller will automatically manage virtio queue distribution. and context switching overhead of QEMU and guest kernel, significantly boosting
Currently each thread doing an I/O on a single bdev will get an exclusive queue. the overall I/O performance.
Multi-threaded I/O on bdevs from a single Virtio-SCSI controller is not supported.
# Limitations {#virtio_limitations} # Limitations {#virtio_limitations}
The Virtio SCSI driver is still experimental. Current implementation has many Current Virtio-SCSI implementation has a couple of limitations:
limitations:
* supports only up to 8 hugepages (implies only 1GB sized pages are practical) * supports only up to 8 hugepages (implies only 1GB sized pages are practical)
* single LUN per target * single LUN per target
* only SPDK vhost-scsi controllers supported * only SPDK vhost-scsi controllers supported
* no RPC
* no multi-threaded I/O for single-queue virtio devices