When starting qemu with vhost-user-blk multiqueue(set num-queues to more than 1), the vhost device will be started/stopped many times (related to the queue num), as the vhost-user backend doesn't know the exact number of queues used for this device. The target have to stop and start the device once got a valid IO queue. When stoping and starting the vhost device, the backend bdev io device will be deleted and created repeatly. If the backend bdev is a distribution system, the cost is large as the network RTT. In this patch, add a dummy_io_channel to hold a reference to the io device, so that the io device will not be deleted. Change-Id: I5737248ec52bee06342ff0873bb89fd0a51665c2 Signed-off-by: Li Feng <fengli@smartx.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2020 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> |
||
---|---|---|
.. | ||
Makefile | ||
rte_vhost_compat.c | ||
vhost_blk.c | ||
vhost_internal.h | ||
vhost_nvme.c | ||
vhost_rpc.c | ||
vhost_scsi.c | ||
vhost.c |