The upcoming rescan implementation will do scan I/O on existing I/O virtqueues. To handle scan cleanly, we need to queue scan I/O if virtqueues are full. The heuristics for resending I/O should be sufficient for all real case scenarios. A scan I/O consists of either 2 or 3 iovs. A raw I/O consists of at least 2 descriptors. Since most I/O requests contain some additional payload, in 99% of cases the scan I/O will be successfully resent after polling a single I/O response. To handle the remaining 1%, we try to resend a scan I/O up to SCAN_REQUEST_RETRIES (currently = 5) times. Change-Id: I8c84ed1d109d9f403c9d7b8efabb904eb26183db Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/392174 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> |
||
---|---|---|
.. | ||
bdev_virtio_rpc.c | ||
bdev_virtio.c | ||
bdev_virtio.h | ||
Makefile |