From 9226dcce430233729edc00f3dc08a674b514eaf2 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Wed, 5 Feb 2020 03:06:23 -0500 Subject: [PATCH] bdevperf: Put RPC main handler next to command line main handler Put rpc_perform_tests() next to bdevperf_run(). This will improve readability a little. Signed-off-by: Shuhei Matsumoto Change-Id: I8816a88be13e794f39ded3ff12e9a76e40c8282a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/514 Tested-by: SPDK CI Jenkins Reviewed-by: Darek Stojaczyk Reviewed-by: Jim Harris Reviewed-by: Paul Luse --- test/bdev/bdevperf/bdevperf.c | 78 +++++++++++++++++------------------ 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/test/bdev/bdevperf/bdevperf.c b/test/bdev/bdevperf/bdevperf.c index f1a8a667d..2bde01bb4 100644 --- a/test/bdev/bdevperf/bdevperf.c +++ b/test/bdev/bdevperf/bdevperf.c @@ -1182,45 +1182,6 @@ bdevperf_run(void *arg1) spdk_for_each_thread(_bdevperf_init_thread, NULL, _bdevperf_init_thread_done); } -static void -bdevperf_stop_io_on_group(struct spdk_io_channel_iter *i) -{ - struct spdk_io_channel *ch; - struct io_target_group *group; - struct io_target *target; - - ch = spdk_io_channel_iter_get_channel(i); - group = spdk_io_channel_get_ctx(ch); - - /* Stop I/O for each block device. */ - TAILQ_FOREACH(target, &group->targets, link) { - end_target(target); - } - - spdk_for_each_channel_continue(i, 0); -} - -static void -spdk_bdevperf_shutdown_cb(void) -{ - g_shutdown = true; - - if (TAILQ_EMPTY(&g_bdevperf.groups)) { - spdk_app_stop(0); - return; - } - - if (g_target_count == 0) { - bdevperf_test_done(); - return; - } - - g_shutdown_tsc = spdk_get_ticks() - g_shutdown_tsc; - - /* Send events to stop all I/O on each target group */ - spdk_for_each_channel(&g_bdevperf, bdevperf_stop_io_on_group, NULL, NULL); -} - static void rpc_perform_tests_cb(void) { @@ -1270,6 +1231,45 @@ rpc_perform_tests(struct spdk_jsonrpc_request *request, const struct spdk_json_v } SPDK_RPC_REGISTER("perform_tests", rpc_perform_tests, SPDK_RPC_RUNTIME) +static void +bdevperf_stop_io_on_group(struct spdk_io_channel_iter *i) +{ + struct spdk_io_channel *ch; + struct io_target_group *group; + struct io_target *target; + + ch = spdk_io_channel_iter_get_channel(i); + group = spdk_io_channel_get_ctx(ch); + + /* Stop I/O for each block device. */ + TAILQ_FOREACH(target, &group->targets, link) { + end_target(target); + } + + spdk_for_each_channel_continue(i, 0); +} + +static void +spdk_bdevperf_shutdown_cb(void) +{ + g_shutdown = true; + + if (TAILQ_EMPTY(&g_bdevperf.groups)) { + spdk_app_stop(0); + return; + } + + if (g_target_count == 0) { + bdevperf_test_done(); + return; + } + + g_shutdown_tsc = spdk_get_ticks() - g_shutdown_tsc; + + /* Send events to stop all I/O on each target group */ + spdk_for_each_channel(&g_bdevperf, bdevperf_stop_io_on_group, NULL, NULL); +} + static int bdevperf_parse_arg(int ch, char *arg) {