From 0c97e22cccb8e5127ef5d330dcab98551d3a6c7f Mon Sep 17 00:00:00 2001 From: Krzysztof Karas Date: Tue, 22 Mar 2022 09:39:31 +0000 Subject: [PATCH] spdk_top: fix scheduler data error display spdk_top constantly shows scheduler data error due to missing "_relaxed" suffix in spdk_json_decode_object() function. This happens when SPDK scheduler is switched to "dynamic", because it provides more data than defined in spdk_top's scheduler_decoders structure. Additionally delete leftover governor code. Fixes #2433 Change-Id: I1f849f0cb48fce5312cdc3c25d7b4529b407283c Signed-off-by: Krzysztof Karas Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12010 Reviewed-by: Jim Harris Reviewed-by: Tomasz Zawadzki Tested-by: SPDK CI Jenkins Community-CI: Mellanox Build Bot --- app/spdk_top/spdk_top.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/spdk_top/spdk_top.c b/app/spdk_top/spdk_top.c index 0558b23d4..76dc1c5a3 100644 --- a/app/spdk_top/spdk_top.c +++ b/app/spdk_top/spdk_top.c @@ -271,7 +271,6 @@ struct rpc_core_info { struct rpc_scheduler { char *scheduler_name; uint64_t scheduler_period; - char *governor_name; }; struct rpc_thread_info g_threads_info[RPC_MAX_THREADS]; @@ -564,7 +563,6 @@ static void free_rpc_scheduler(struct rpc_scheduler *req) { free(req->scheduler_name); - free(req->governor_name); } static const struct spdk_json_object_decoder rpc_scheduler_decoders[] = { @@ -1111,8 +1109,8 @@ get_scheduler_data(void) } memset(&scheduler_info, 0, sizeof(scheduler_info)); - if (spdk_json_decode_object(json_resp->result, rpc_scheduler_decoders, - SPDK_COUNTOF(rpc_scheduler_decoders), &scheduler_info)) { + if (spdk_json_decode_object_relaxed(json_resp->result, rpc_scheduler_decoders, + SPDK_COUNTOF(rpc_scheduler_decoders), &scheduler_info)) { rc = -EINVAL; } else { pthread_mutex_lock(&g_thread_lock);