Spdk/lib
Li Feng bcc28e05d1 vhost_blk: speed up the vhost device boot
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>
2020-05-13 07:46:29 +00:00
..
accel accel: add write_config json for accel modules 2020-05-07 10:41:44 +00:00
bdev lib/bdev: add a map file. 2020-04-15 22:10:08 +00:00
blob lib/blob: clear blobid and md_page on blob_create failure 2020-05-07 08:30:19 +00:00
blobfs blobfs: remove g_caches_lock finally 2020-05-11 12:34:16 +00:00
conf lib/conf: make INI deprecation less verbose 2020-04-28 13:36:35 +00:00
env_dpdk env: add the device ID of virtio device 2020-05-12 08:12:22 +00:00
env_ocf lib/ocf_env: fix incorrect value for free memory estimate 2020-04-29 06:42:33 +00:00
event lib: replace fprintf(stderr,) by SPDK_ERRLOG 2020-05-07 10:42:40 +00:00
ftl lib: replace fprintf(stderr,) by SPDK_ERRLOG 2020-05-07 10:42:40 +00:00
idxd lib/idxd: add a map file. 2020-05-11 12:29:07 +00:00
ioat lib/ioat: add a map file. 2020-05-11 12:29:07 +00:00
iscsi lib/iscsi: fix possible memory leak. 2020-04-24 07:07:43 +00:00
json lib/json: add a map file. 2020-05-11 12:29:07 +00:00
jsonrpc lib/jsonrpc: remove spdk_ prefix from internal functions. 2020-05-11 12:29:07 +00:00
log lib/log: add timestamps for spdk_log messages 2020-05-11 12:34:28 +00:00
log_rpc lib/log_rpc: add a map file. 2020-05-11 12:29:07 +00:00
lvol lib/lvol: add a map file. 2020-05-11 12:29:07 +00:00
nbd lib/nbd: remove spdk prefix from internal functions. 2020-05-11 12:29:07 +00:00
net lib/net: remove spdk prefix from internal functions. 2020-05-11 12:29:07 +00:00
notify lib/notify: add a map file. 2020-05-11 12:29:07 +00:00
nvme lib/nvme: add a map file. 2020-05-12 21:49:03 +00:00
nvmf lib/nvmf: remove spdk prefix from static functions in transport.c. 2020-05-12 21:49:03 +00:00
reduce lib/reduce: add a map file. 2020-05-12 21:49:03 +00:00
rocksdb global: rename copy to accel 2020-02-18 08:05:34 +00:00
rpc lib/rpc: remove spdk prefix from static functions in rpc.c 2020-05-12 21:49:03 +00:00
rte_vhost make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
scsi lib/scsi: add map file 2020-04-24 07:06:52 +00:00
sock lib/sock: remove spdk prefix from static functions in sock.c 2020-05-12 21:49:03 +00:00
thread lib/thread: remove spdk prefix from static functions. 2020-05-12 21:49:03 +00:00
trace lib: replace fprintf(stderr,) by SPDK_ERRLOG 2020-05-07 10:42:40 +00:00
ut_mock test: add generic unlink wrapper 2020-05-06 12:43:57 +00:00
util pipe: Simplify the pipe code 2020-03-31 07:59:26 +00:00
vhost vhost_blk: speed up the vhost device boot 2020-05-13 07:46:29 +00:00
virtio memory.h: move to public headers 2020-03-19 08:50:45 +00:00
vmd make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
Makefile lib/idxd: add low level idxd library 2020-04-23 15:48:32 +00:00