numam-spdk/lib/vhost
Darek Stojaczyk f08a6eebd3 vhost: don't lock global vhost mutex when waiting for device start/stop
This fixes a potential deadlock:

Thread 2
 * stop_device()
   * lock(&g_spdk_vhost_mutex)
   * _spdk_vhost_event_send
     * sem_wait <- waiting for pending I/O on Thread 1 to complete

Thread 1
 * spdk_rpc_construct_vhost_blk_controller
   * lock(&g_spdk_vhost_mutex) <- prevents this thread from
                                  completing any I/O

Fixes #437

Change-Id: I50ab7bc6dcd161881650ff30362127e0069a3939
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/396577
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-09-28 18:46:11 +00:00
..
rte_vhost rte_vhost:rte_vhost_driver_register(): check if strdup succeeds 2018-08-24 03:58:31 +00:00
Makefile vhost_user_nvme: add vhost user nvme target to SPDK 2018-04-03 15:01:24 -04:00
vhost_blk.c vhost_blk: Add support for blk_request_queue_io in vhost_blk 2018-09-25 03:46:22 +00:00
vhost_internal.h vhost: dump interrupt coalescing parameters in RPC info/config 2018-06-15 18:45:14 +00:00
vhost_nvme.c thread: Replace #include of io_channel.h with thread.h 2018-06-12 15:24:07 +00:00
vhost_rpc.c vhost: rpc: fix memory leak of spdk_rpc_get_vhost_controllers 2018-09-17 22:12:42 +00:00
vhost_scsi.c vhost: show failed taks status 2018-09-12 04:19:46 +00:00
vhost.c vhost: don't lock global vhost mutex when waiting for device start/stop 2018-09-28 18:46:11 +00:00