test/bdevio: Use local instance of cpuset in test_main()

bdevio test tool is not critical but change it to use instance
of cpuset to spread statically allocation of cpuset throughout.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I9722d491cb6ec3202312285013105f7b6aeb1f15
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478581
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Shuhei Matsumoto 2019-12-20 03:09:45 -05:00 committed by Tomasz Zawadzki
parent 040339550c
commit 0bc0463e3e

View File

@ -1131,22 +1131,15 @@ __construct_targets(void *arg)
static void
test_main(void *arg1)
{
struct spdk_cpuset *tmpmask, *appmask;
struct spdk_cpuset tmpmask = {}, *appmask;
uint32_t cpu, init_cpu;
pthread_mutex_init(&g_test_mutex, NULL);
pthread_cond_init(&g_test_cond, NULL);
tmpmask = spdk_cpuset_alloc();
if (tmpmask == NULL) {
spdk_app_stop(-1);
return;
}
appmask = spdk_app_get_core_mask();
if (spdk_cpuset_count(appmask) < 3) {
spdk_cpuset_free(tmpmask);
spdk_app_stop(-1);
return;
}
@ -1156,36 +1149,32 @@ test_main(void *arg1)
for (cpu = 0; cpu < SPDK_ENV_LCORE_ID_ANY; cpu++) {
if (cpu != init_cpu && spdk_cpuset_get_cpu(appmask, cpu)) {
spdk_cpuset_zero(tmpmask);
spdk_cpuset_set_cpu(tmpmask, cpu, true);
g_thread_ut = spdk_thread_create("ut_thread", tmpmask);
spdk_cpuset_zero(&tmpmask);
spdk_cpuset_set_cpu(&tmpmask, cpu, true);
g_thread_ut = spdk_thread_create("ut_thread", &tmpmask);
break;
}
}
if (cpu == SPDK_ENV_LCORE_ID_ANY) {
spdk_cpuset_free(tmpmask);
spdk_app_stop(-1);
return;
}
for (cpu++; cpu < SPDK_ENV_LCORE_ID_ANY; cpu++) {
if (cpu != init_cpu && spdk_cpuset_get_cpu(appmask, cpu)) {
spdk_cpuset_zero(tmpmask);
spdk_cpuset_set_cpu(tmpmask, cpu, true);
g_thread_io = spdk_thread_create("io_thread", tmpmask);
spdk_cpuset_zero(&tmpmask);
spdk_cpuset_set_cpu(&tmpmask, cpu, true);
g_thread_io = spdk_thread_create("io_thread", &tmpmask);
break;
}
}
if (cpu == SPDK_ENV_LCORE_ID_ANY) {
spdk_cpuset_free(tmpmask);
spdk_app_stop(-1);
return;
}
spdk_cpuset_free(tmpmask);
if (g_wait_for_tests) {
/* Do not perform any tests until RPC is received */
return;