From e230f8e9e6a7eee67ebc1b56f4ae8fafe7f55bb8 Mon Sep 17 00:00:00 2001 From: Krzysztof Karas Date: Fri, 2 Jul 2021 15:23:56 +0200 Subject: [PATCH] spdk_top: fix sorting in threads tab Currently spdk_top retains selected thread sorting for one application loop only, because it is performed before all assignment operations are done. This is a problem when 'sort by core' is selected, because threads are sorted before core assignment happens. This patch aims to resolve that issue. Signed-off-by: Krzysztof Karas Change-Id: Ide6d025d5e4e31a8fda713703a822e976468f326 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8629 Tested-by: SPDK CI Jenkins Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Reviewed-by: Tomasz Zawadzki Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto Reviewed-by: Konrad Sztyber --- app/spdk_top/spdk_top.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/spdk_top/spdk_top.c b/app/spdk_top/spdk_top.c index 114a64bfa..d056e5505 100644 --- a/app/spdk_top/spdk_top.c +++ b/app/spdk_top/spdk_top.c @@ -662,8 +662,6 @@ get_thread_data(void) } } memcpy(&g_threads_stats, &threads_stats, sizeof(struct rpc_threads_stats)); - qsort(&g_threads_stats.threads.thread_info, threads_stats.threads.threads_count, - sizeof(g_threads_stats.threads.thread_info[0]), sort_threads); for (i = 0; i < g_threads_stats.threads.threads_count; i++) { g_threads_stats.threads.thread_info[i].core_num = -1; @@ -687,6 +685,9 @@ get_thread_data(void) } } + qsort(&g_threads_stats.threads.thread_info, threads_stats.threads.threads_count, + sizeof(g_threads_stats.threads.thread_info[0]), sort_threads); + pthread_mutex_unlock(&g_thread_lock); end: