bdevperf: create bdevperf_test() to only perform tests
Separated out bdevperf_test() from bdevperf_run(), so that in future RPC can directly call running the tests. All global setup done at start of the application remains in bdevperf_run(). This is series for adding RPC to bdevperf app. Change-Id: I85950d4941d4325486a7dcf89f9766dcdd302657 Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460443 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
162df57723
commit
8c433333af
@ -1110,32 +1110,17 @@ verify_test_params(struct spdk_app_opts *opts)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
bdevperf_run(void *arg1)
|
||||
static int
|
||||
bdevperf_test(void)
|
||||
{
|
||||
uint32_t i;
|
||||
struct io_target *target;
|
||||
struct spdk_event *event;
|
||||
int rc;
|
||||
|
||||
rc = blockdev_heads_init();
|
||||
if (rc) {
|
||||
spdk_app_stop(1);
|
||||
return;
|
||||
}
|
||||
|
||||
bdevperf_construct_targets();
|
||||
|
||||
if (g_target_count == 0) {
|
||||
fprintf(stderr, "No valid bdevs found.\n");
|
||||
spdk_app_stop(1);
|
||||
return;
|
||||
}
|
||||
|
||||
rc = bdevperf_construct_targets_tasks();
|
||||
if (rc) {
|
||||
spdk_app_stop(1);
|
||||
return;
|
||||
return rc;
|
||||
}
|
||||
|
||||
printf("Running I/O for %" PRIu64 " seconds...\n", g_time_in_usec / 1000000);
|
||||
@ -1148,17 +1133,45 @@ bdevperf_run(void *arg1)
|
||||
g_show_performance_period_in_usec);
|
||||
}
|
||||
|
||||
g_master_core = spdk_env_get_current_core();
|
||||
/* Send events to start all I/O */
|
||||
for (i = 0; i < spdk_env_get_core_count(); i++) {
|
||||
target = g_head[i];
|
||||
if (target == NULL) {
|
||||
break;
|
||||
return -1;
|
||||
}
|
||||
event = spdk_event_allocate(target->lcore, bdevperf_submit_on_core,
|
||||
target, NULL);
|
||||
spdk_event_call(event);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
bdevperf_run(void *arg1)
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc = blockdev_heads_init();
|
||||
if (rc) {
|
||||
spdk_app_stop(1);
|
||||
return;
|
||||
}
|
||||
|
||||
g_master_core = spdk_env_get_current_core();
|
||||
|
||||
bdevperf_construct_targets();
|
||||
|
||||
if (g_target_count == 0) {
|
||||
fprintf(stderr, "No valid bdevs found.\n");
|
||||
spdk_app_stop(1);
|
||||
return;
|
||||
}
|
||||
|
||||
rc = bdevperf_test();
|
||||
if (rc) {
|
||||
spdk_app_stop(1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user