bdevperf: Print each job's results separately
As we move to more complex job definitions, it will make more sense to print the stats for each job separately, rather than grouping by reactor. Signed-off-by: Ben Walker <benjamin.walker@intel.com> Change-Id: I1a94c36a5d272ae406b0b201dc05ec020ab651a0 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1848 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
parent
5eb39c80ad
commit
daf08e3b55
@ -913,6 +913,26 @@ _performance_dump_done(struct spdk_io_channel_iter *i, int status)
|
||||
free(ctx);
|
||||
}
|
||||
|
||||
static void
|
||||
_performance_dump_job(struct perf_dump_ctx *ctx, struct bdevperf_job *job)
|
||||
{
|
||||
double io_per_second, mb_per_second;
|
||||
|
||||
printf("\r Thread name: %s\n", spdk_thread_get_name(job->reactor->thread));
|
||||
printf("\r Core Mask: 0x%s\n", spdk_cpuset_fmt(spdk_thread_get_cpumask(job->reactor->thread)));
|
||||
|
||||
if (ctx->ema_period == 0) {
|
||||
io_per_second = get_cma_io_per_second(job, ctx->io_time_in_usec);
|
||||
} else {
|
||||
io_per_second = get_ema_io_per_second(job, ctx->ema_period);
|
||||
}
|
||||
mb_per_second = io_per_second * g_io_size / (1024 * 1024);
|
||||
printf("\r %-20s: %10.2f IOPS %10.2f MiB/s\n",
|
||||
job->name, io_per_second, mb_per_second);
|
||||
ctx->total_io_per_second += io_per_second;
|
||||
ctx->total_mb_per_second += mb_per_second;
|
||||
}
|
||||
|
||||
static void
|
||||
_performance_dump(struct spdk_io_channel_iter *i)
|
||||
{
|
||||
@ -920,7 +940,6 @@ _performance_dump(struct spdk_io_channel_iter *i)
|
||||
struct spdk_io_channel *ch;
|
||||
struct bdevperf_reactor *reactor;
|
||||
struct bdevperf_job *job;
|
||||
double io_per_second, mb_per_second;
|
||||
|
||||
ctx = spdk_io_channel_iter_get_ctx(i);
|
||||
ch = spdk_io_channel_iter_get_channel(i);
|
||||
@ -930,20 +949,8 @@ _performance_dump(struct spdk_io_channel_iter *i)
|
||||
goto exit;
|
||||
}
|
||||
|
||||
printf("\r Thread name: %s\n", spdk_thread_get_name(spdk_get_thread()));
|
||||
printf("\r Logical core: %u\n", reactor->lcore);
|
||||
|
||||
TAILQ_FOREACH(job, &reactor->jobs, link) {
|
||||
if (ctx->ema_period == 0) {
|
||||
io_per_second = get_cma_io_per_second(job, ctx->io_time_in_usec);
|
||||
} else {
|
||||
io_per_second = get_ema_io_per_second(job, ctx->ema_period);
|
||||
}
|
||||
mb_per_second = io_per_second * g_io_size / (1024 * 1024);
|
||||
printf("\r %-20s: %10.2f IOPS %10.2f MiB/s\n",
|
||||
job->name, io_per_second, mb_per_second);
|
||||
ctx->total_io_per_second += io_per_second;
|
||||
ctx->total_mb_per_second += mb_per_second;
|
||||
_performance_dump_job(ctx, job);
|
||||
}
|
||||
|
||||
fflush(stdout);
|
||||
|
Loading…
x
Reference in New Issue
Block a user