Spdk/test
Nikos Dragazis 5f4e42b80b vhost: abstract vring call mechanism as it is transport-specific
vring notification mechanism is transport-specific.  At present, vhost
dataplane code in `lib/vhost/vhost.c` triggers guest notifications with
`eventfd_write()` system call. But this is an AF_UNIX specific
notification mechanism. This patch replaces `eventfd_write()` with the
existing generic `rte_vhost_vring_call()` function that is part of
DPDK's librte_vhost public API.

`rte_vhost_vring_call()` takes a vring_idx as an argument to associate
the `struct spdk_vhost_virtqueue` instance with the relevant `struct
vhost_virtqueue` instance. We introduce a new `vring_idx` field in
`struct spdk_vhost_virtqueue` to enable this association. This field is
initialized in `start_device()`. In addition, a stub for
`rte_vhost_vring_call()` is added in the vhost unit test file.

SPDK's internal `rte_vhost` copy will not be updated in order to support
the virtio-vhost-user transport. However, an `rte_vhost_vring_call()`
function is introduced in SPDK's `rte_vhost` in order to have a solid
API. This function is just a wrapper of `eventfd_write()`.

Change-Id: Ic93e25cd3f06e92f04766521bc850f1ee80b8ec8
Signed-off-by: Nikos Dragazis <ndragazis@arrikto.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454373
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-03 20:14:08 +00:00
..
app util: add a new file operation API 2019-05-15 18:54:27 +00:00
bdev test/bdevio: add perform_tests RPC 2019-05-30 21:58:23 +00:00
blobfs rocksdb: cleanup SpdkInitializeThread/SpdkFinalizeThread 2019-05-02 09:00:43 +00:00
blobstore test: don't call python explicitly 2019-05-08 14:22:19 +00:00
common test/autotest: expand PYTHONPATH to include SPDK RPC lib 2019-05-30 21:58:23 +00:00
config_converter iscsi: Deprecate MinConnectionsPerCore 2019-05-06 17:10:48 +00:00
cpp_headers Makefile: Add possibility to uninstall spdk. 2019-05-16 20:56:18 +00:00
env build: fix duplicate spdk.common.mk includes 2019-05-22 14:51:01 +00:00
event notify: add notification library 2019-03-29 21:15:14 +00:00
ftl bdev/ftl: Add json config generation 2019-04-01 23:59:39 +00:00
ioat examples: rename ioat perf tool to ioat_perf 2019-05-22 14:51:01 +00:00
iscsi_tgt scripts/fio.py: add argparse for command line parameters 2019-06-03 04:34:10 +00:00
json_config bdev: Create a new delay vbdev module 2019-05-31 14:37:26 +00:00
lvol test/lvol: Add a case in usage and fix a typo 2019-05-01 18:46:59 +00:00
nvme build: fix duplicate spdk.common.mk includes 2019-05-22 14:51:01 +00:00
nvmf scripts/fio.py: add argparse for command line parameters 2019-06-03 04:34:10 +00:00
ocf ocf: test: use all cache modes 2019-05-23 19:01:38 +00:00
pmem bdev: remove delete_bdev RPC 2019-03-01 08:50:07 +00:00
rpc_client rpc: rename RPC get_rpc_methods to rpc_get_methods 2019-05-27 12:52:53 +00:00
spdkcli spdkcli: Add support for raid devices 2019-05-09 19:36:35 +00:00
unit vhost: abstract vring call mechanism as it is transport-specific 2019-06-03 20:14:08 +00:00
vhost test/vhost: Eliminate SPDK_ISCSI_VHOST_TEST_DIR 2019-05-30 04:07:46 +00:00
Makefile jsonrpc-client: add new C client library 2018-10-11 20:07:44 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00