lib/vhost: move vhost_user init thread tracking

Keep track of g_vhost_user_init_thread, local to the
rte_vhost_user.c.

There is no need to track this in generic vhost layer.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I1fd22e196a3091284f5f9c3c0c7c70a0e18514cb
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11075
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Tomasz Zawadzki 2022-01-13 12:31:09 +01:00
parent d7cd645c9f
commit b514849ca1
3 changed files with 7 additions and 13 deletions

View File

@ -49,6 +49,8 @@
/* Path to folder where character device will be created. Can be set by user. */
static char g_vhost_user_dev_dirname[PATH_MAX] = "";
static struct spdk_thread *g_vhost_user_init_thread;
/**
* DPDK calls our callbacks synchronously but the work those callbacks
* perform needs to be async. Luckily, all DPDK callbacks are called on
@ -618,7 +620,7 @@ foreach_session(void *arg1)
out:
spdk_vhost_unlock();
spdk_thread_send_msg(g_vhost_init_thread, foreach_session_finish_cb, arg1);
spdk_thread_send_msg(g_vhost_user_init_thread, foreach_session_finish_cb, arg1);
}
void
@ -1120,6 +1122,9 @@ vhost_user_init(void)
g_vhost_user_started = true;
g_vhost_user_init_thread = spdk_get_thread();
assert(g_vhost_user_init_thread != NULL);
return 0;
}
@ -1144,7 +1149,7 @@ vhost_user_session_shutdown(void *arg)
}
SPDK_INFOLOG(vhost, "Exiting\n");
spdk_thread_send_msg(g_vhost_init_thread, vhost_cb, NULL);
spdk_thread_send_msg(g_vhost_user_init_thread, vhost_cb, NULL);
return NULL;
}

View File

@ -46,9 +46,6 @@ bool g_packed_ring_recovery = false;
static struct spdk_cpuset g_vhost_core_mask;
/* Thread performing all vhost management operations */
struct spdk_thread *g_vhost_init_thread = NULL;
static TAILQ_HEAD(, spdk_vhost_dev) g_vhost_devices = TAILQ_HEAD_INITIALIZER(
g_vhost_devices);
static pthread_mutex_t g_vhost_mutex = PTHREAD_MUTEX_INITIALIZER;
@ -908,9 +905,6 @@ spdk_vhost_init(spdk_vhost_init_cb init_cb)
uint32_t i;
int ret = 0;
g_vhost_init_thread = spdk_get_thread();
assert(g_vhost_init_thread != NULL);
ret = vhost_user_init();
if (ret != 0) {
init_cb(ret);
@ -947,8 +941,6 @@ vhost_fini(void *arg1)
void
spdk_vhost_fini(spdk_vhost_fini_cb fini_cb)
{
assert(spdk_get_thread() == g_vhost_init_thread);
g_fini_cb = fini_cb;
vhost_user_fini(vhost_fini);

View File

@ -47,9 +47,6 @@
extern bool g_packed_ring_recovery;
/* Thread performing all vhost management operations */
extern struct spdk_thread *g_vhost_init_thread;
#define SPDK_VHOST_MAX_VQUEUES 256
#define SPDK_VHOST_MAX_VQ_SIZE 1024