bdev: add _spdk_bdev_io_stat_add helper function

This will be used further in an additional patch.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I1126e5adfc24f17e5cdf33b0d3e04c78470771c8

Reviewed-on: https://review.gerrithub.io/421027
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Jim Harris 2018-07-31 16:50:16 -07:00
parent 66a91a0498
commit d18d51b047

View File

@ -1478,6 +1478,17 @@ spdk_bdev_qos_destroy(struct spdk_bdev *bdev)
return 0;
}
static void
_spdk_bdev_io_stat_add(struct spdk_bdev_io_stat *total, struct spdk_bdev_io_stat *add)
{
total->bytes_read += add->bytes_read;
total->num_read_ops += add->num_read_ops;
total->bytes_written += add->bytes_written;
total->num_write_ops += add->num_write_ops;
total->read_latency_ticks += add->read_latency_ticks;
total->write_latency_ticks += add->write_latency_ticks;
}
static void
spdk_bdev_channel_destroy(void *io_device, void *ctx_buf)
{
@ -2269,13 +2280,7 @@ _spdk_bdev_get_each_channel_stat(struct spdk_io_channel_iter *i)
struct spdk_io_channel *ch = spdk_io_channel_iter_get_channel(i);
struct spdk_bdev_channel *channel = spdk_io_channel_get_ctx(ch);
bdev_iostat_ctx->stat->bytes_read += channel->stat.bytes_read;
bdev_iostat_ctx->stat->num_read_ops += channel->stat.num_read_ops;
bdev_iostat_ctx->stat->bytes_written += channel->stat.bytes_written;
bdev_iostat_ctx->stat->num_write_ops += channel->stat.num_write_ops;
bdev_iostat_ctx->stat->read_latency_ticks += channel->stat.read_latency_ticks;
bdev_iostat_ctx->stat->write_latency_ticks += channel->stat.write_latency_ticks;
_spdk_bdev_io_stat_add(bdev_iostat_ctx->stat, &channel->stat);
spdk_for_each_channel_continue(i, 0);
}