doc/vhost_processing: replace the ASCII diagram with an SVG one

All credits go to Tomasz.

Change-Id: I0664aad9abb87f9d04c243654f308c22f968cef2
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/412119
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
Dariusz Stojaczyk 2018-05-23 04:07:50 +02:00 committed by Jim Harris
parent 8a989c7c1e
commit 026c69db1a
3 changed files with 4 additions and 50 deletions

View File

@ -907,7 +907,7 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).
IMAGE_PATH =
IMAGE_PATH = img
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -53,55 +53,7 @@ One of major Vhost-user use cases is networking (DPDK) or storage (SPDK)
offload in QEMU. The following diagram presents how QEMU-based VM
communicates with SPDK Vhost-SCSI device.
```
+-------------------------------------QEMU-----------------------------+ +------------------------------------------SPDK vhost--------------------+
| | | |
| +---------------------------------VM-----------------------------+ | | +-----------------------------------------+ |
| | | | | | | |
| | +----------------------------------------------------------+ | | | | | |
| | | | | | | | | |
| | | +--------------------------+--+--+-------------+------------+ | | |
| | | | | | Vhost-SCSI | |
| | | | Shared hugepage memory | | device | |
| | | | | | | |
| | | | +-----------------------------------------------------+ | | | |
| | | | | | | polling | | |
| | | | | Virtqueues +-----------------> | |
| | | Virtio-SCSI PCI driver | | | | | +-----------------------------------+ | |
| | | | +-----------------------------------------------------+ | | | | | |
| | | | | | | DMA | | SPDK bdev(s) | | |
| | | | | I/O buffers <--------------------+ (NVMe, NVMf, Ceph RBD, PMEM) | | |
+---------> | | | | | | | | | |
| | | | | +-----------------------------------------------------+ | | +-----------------------------------+ | |
| | | | | | | | |
| | | | +--------------------------+--+--+-------------+------------+ | +----------------------+ | |
| | | | | | | | | | | | |
| | +--+--------^--+----------------------------------------------+--+ | | | | Unix domain socket | | |
| | | | | | | | | | |
| | +-----------+--v-----------+-------------------------------------+ | | | +-------^--------------+ | |
| | | | | | | | | | |
| | | Virtio-SCSI device | Vhost-user driver (master) | | | +------------------------------------+----+ |
| | | | | | | | | |
| | | | | | +------------------------------------------------------------------------+
| | | | | | | |
| | | | | | | |
| | | | | | Vhost-user messages | |
| | | | <-------------------------------------------------------+ |
| | | | | | |
| | | | +----------------+ | eventfd interrupt |
| | | | | callfd <---------------------------------------------------------------------------------+
| | +--------------------------+--------------------+---+------------+ |
| | | |
| +----------------------------------------------------------------------+
| |
| |irqfd
| |
| +---v---+
| | |
+---------------------------------------------------------+ KVM |
| |
+-------+
```
![QEMU/SPDK vhost data flow](img/qemu_vhost_data_flow.svg)
The irqfd mechanism isn't described in this document, as it KVM/QEMU-specific.
Briefly speaking, doing an eventfd_write on the callfd descriptor will