From 0bc0463e3e515d9b5efa7d640b21b8a54920a64d Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Fri, 20 Dec 2019 03:09:45 -0500 Subject: [PATCH] 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 Change-Id: I9722d491cb6ec3202312285013105f7b6aeb1f15 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478581 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Ben Walker Community-CI: SPDK CI Jenkins --- test/bdev/bdevio/bdevio.c | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/test/bdev/bdevio/bdevio.c b/test/bdev/bdevio/bdevio.c index 6401d539d..b63b086aa 100644 --- a/test/bdev/bdevio/bdevio.c +++ b/test/bdev/bdevio/bdevio.c @@ -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;