Commit ad77f0a2 authored by Rozegnal, Michal's avatar Rozegnal, Michal Committed by Tomasz Zawadzki
Browse files

perf: fix for transport stats dump



It seems that transport stats were dump to early, before all
completions were fully processed. That resulted in stats
that didn't covered all completions.

Change-Id: I02112325f8d9944b217e5efd625886d17757d12b
Signed-off-by: default avatarMichal Rozegnal <michal.rozegnal@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21327


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
parent b27d57dc
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -1844,12 +1844,6 @@ work_fn(void *arg)
		g_elapsed_time_in_usec = (tsc_current - tsc_start) * SPDK_SEC_TO_USEC / g_tsc_rate;
	}

	if (g_dump_transport_stats) {
		pthread_mutex_lock(&g_stats_mutex);
		perf_dump_transport_statistics(worker);
		pthread_mutex_unlock(&g_stats_mutex);
	}

	/* drain the io of each ns_ctx in round robin to make the fairness */
	do {
		unfinished_ns_ctx = 0;
@@ -1868,6 +1862,12 @@ work_fn(void *arg)
		}
	} while (unfinished_ns_ctx > 0);

	if (g_dump_transport_stats) {
		pthread_mutex_lock(&g_stats_mutex);
		perf_dump_transport_statistics(worker);
		pthread_mutex_unlock(&g_stats_mutex);
	}

	TAILQ_FOREACH(ns_ctx, &worker->ns_ctx, link) {
		cleanup_ns_worker_ctx(ns_ctx);
	}