Commit 679f6d6e authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Tomasz Zawadzki
Browse files

bdevperf: bdevperf_fini() and rpc_perform_tests_cb() refer g_run_rc directly



Remove a parameter from bdevperf_fini() and rpc_perform_tests_cb()
and they refer g_run_rc directly.  This is a preparation to the next
patch to avoid introducing any dynamically allocated context.

Signed-off-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I42f1c7e8bc662799b3fcbf2769139174bb527314
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478834


Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent ceaee98a
Loading
Loading
Loading
Loading
+16 −14
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@ static struct spdk_poller *g_perf_timer = NULL;

static void bdevperf_submit_single(struct io_target *target, struct bdevperf_task *task);
static void performance_dump(uint64_t io_time_in_usec, uint64_t ema_period);
static void rpc_perform_tests_cb(int rc);
static void rpc_perform_tests_cb(void);

struct io_target {
	char				*name;
@@ -439,20 +439,20 @@ bdevperf_construct_targets(void)
}

static void
bdevperf_fini(int rc)
bdevperf_fini(void)
{
	spdk_app_stop(rc);
	spdk_app_stop(g_run_rc);
}

static void
bdevperf_test_done(int rc)
bdevperf_test_done(void)
{
	bdevperf_free_targets();

	if (g_request && !g_shutdown) {
		rpc_perform_tests_cb(rc);
		rpc_perform_tests_cb();
	} else {
		bdevperf_fini(rc);
		bdevperf_fini();
	}
}

@@ -480,7 +480,7 @@ end_run(void *arg1, void *arg2)
			printf("Test time less than one microsecond, no performance data will be shown\n");
		}

		bdevperf_test_done(g_run_rc);
		bdevperf_test_done();
	}
}

@@ -1325,7 +1325,8 @@ bdevperf_run(void *arg1)

	rc = bdevperf_test();
	if (rc) {
		bdevperf_test_done(rc);
		g_run_rc = rc;
		bdevperf_test_done();
		return;
	}
}
@@ -1356,7 +1357,7 @@ spdk_bdevperf_shutdown_cb(void)
	}

	if (g_target_count == 0) {
		bdevperf_test_done(g_run_rc);
		bdevperf_test_done();
		return;
	}

@@ -1426,20 +1427,20 @@ bdevperf_parse_arg(int ch, char *arg)
}

static void
rpc_perform_tests_cb(int rc)
rpc_perform_tests_cb(void)
{
	struct spdk_json_write_ctx *w;
	struct spdk_jsonrpc_request *request = g_request;

	g_request = NULL;

	if (rc == 0) {
	if (g_run_rc == 0) {
		w = spdk_jsonrpc_begin_result(request);
		spdk_json_write_uint32(w, rc);
		spdk_json_write_uint32(w, g_run_rc);
		spdk_jsonrpc_end_result(request, w);
	} else {
		spdk_jsonrpc_send_error_response_fmt(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
						     "bdevperf failed with error %s", spdk_strerror(-rc));
						     "bdevperf failed with error %s", spdk_strerror(-g_run_rc));
	}
}

@@ -1465,7 +1466,8 @@ rpc_perform_tests(struct spdk_jsonrpc_request *request, const struct spdk_json_v

	rc = bdevperf_test();
	if (rc) {
		bdevperf_test_done(rc);
		g_run_rc = rc;
		bdevperf_test_done();
	}
}
SPDK_RPC_REGISTER("perform_tests", rpc_perform_tests, SPDK_RPC_RUNTIME)