bdev: Add copy IO statistics
Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com> Change-Id: Id51ac80bce33a27a8ccea273c076f39019b98339 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14348 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot
This commit is contained in:
parent
b052435962
commit
8c3590a983
@ -157,9 +157,12 @@ struct spdk_bdev_io_stat {
|
|||||||
uint64_t num_write_ops;
|
uint64_t num_write_ops;
|
||||||
uint64_t bytes_unmapped;
|
uint64_t bytes_unmapped;
|
||||||
uint64_t num_unmap_ops;
|
uint64_t num_unmap_ops;
|
||||||
|
uint64_t bytes_copied;
|
||||||
|
uint64_t num_copy_ops;
|
||||||
uint64_t read_latency_ticks;
|
uint64_t read_latency_ticks;
|
||||||
uint64_t write_latency_ticks;
|
uint64_t write_latency_ticks;
|
||||||
uint64_t unmap_latency_ticks;
|
uint64_t unmap_latency_ticks;
|
||||||
|
uint64_t copy_latency_ticks;
|
||||||
uint64_t ticks_rate;
|
uint64_t ticks_rate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3654,9 +3654,12 @@ bdev_io_stat_add(struct spdk_bdev_io_stat *total, struct spdk_bdev_io_stat *add)
|
|||||||
total->num_write_ops += add->num_write_ops;
|
total->num_write_ops += add->num_write_ops;
|
||||||
total->bytes_unmapped += add->bytes_unmapped;
|
total->bytes_unmapped += add->bytes_unmapped;
|
||||||
total->num_unmap_ops += add->num_unmap_ops;
|
total->num_unmap_ops += add->num_unmap_ops;
|
||||||
|
total->bytes_copied += add->bytes_copied;
|
||||||
|
total->num_copy_ops += add->num_copy_ops;
|
||||||
total->read_latency_ticks += add->read_latency_ticks;
|
total->read_latency_ticks += add->read_latency_ticks;
|
||||||
total->write_latency_ticks += add->write_latency_ticks;
|
total->write_latency_ticks += add->write_latency_ticks;
|
||||||
total->unmap_latency_ticks += add->unmap_latency_ticks;
|
total->unmap_latency_ticks += add->unmap_latency_ticks;
|
||||||
|
total->copy_latency_ticks += add->copy_latency_ticks;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -6070,6 +6073,11 @@ bdev_io_complete(void *ctx)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SPDK_BDEV_IO_TYPE_COPY:
|
||||||
|
bdev_io->internal.ch->stat.bytes_copied += bdev_io->u.bdev.num_blocks * bdev_io->bdev->blocklen;
|
||||||
|
bdev_io->internal.ch->stat.num_copy_ops++;
|
||||||
|
bdev_io->internal.ch->stat.copy_latency_ticks += tsc_diff;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -225,9 +225,12 @@ rpc_bdev_get_iostat_dump(struct spdk_json_write_ctx *w,
|
|||||||
spdk_json_write_named_uint64(w, "num_write_ops", stat->num_write_ops);
|
spdk_json_write_named_uint64(w, "num_write_ops", stat->num_write_ops);
|
||||||
spdk_json_write_named_uint64(w, "bytes_unmapped", stat->bytes_unmapped);
|
spdk_json_write_named_uint64(w, "bytes_unmapped", stat->bytes_unmapped);
|
||||||
spdk_json_write_named_uint64(w, "num_unmap_ops", stat->num_unmap_ops);
|
spdk_json_write_named_uint64(w, "num_unmap_ops", stat->num_unmap_ops);
|
||||||
|
spdk_json_write_named_uint64(w, "bytes_copied", stat->bytes_copied);
|
||||||
|
spdk_json_write_named_uint64(w, "num_copy_ops", stat->num_copy_ops);
|
||||||
spdk_json_write_named_uint64(w, "read_latency_ticks", stat->read_latency_ticks);
|
spdk_json_write_named_uint64(w, "read_latency_ticks", stat->read_latency_ticks);
|
||||||
spdk_json_write_named_uint64(w, "write_latency_ticks", stat->write_latency_ticks);
|
spdk_json_write_named_uint64(w, "write_latency_ticks", stat->write_latency_ticks);
|
||||||
spdk_json_write_named_uint64(w, "unmap_latency_ticks", stat->unmap_latency_ticks);
|
spdk_json_write_named_uint64(w, "unmap_latency_ticks", stat->unmap_latency_ticks);
|
||||||
|
spdk_json_write_named_uint64(w, "copy_latency_ticks", stat->copy_latency_ticks);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user