Commit f209b343 authored by Jin Yu's avatar Jin Yu Committed by Tomasz Zawadzki
Browse files

bdev: add the tsc trace



Add the tsc trace for the parent bdev_io.

Change-Id: Idf5c5df3953fa1697c384a4f83b591584dd30a80
Signed-off-by: default avatarJin Yu <jin.yu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/476588


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent c6e50f7f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1751,6 +1751,8 @@ _bdev_io_split(void *_bdev_io)
			} else {
				bdev_io->internal.status = SPDK_BDEV_IO_STATUS_FAILED;
				if (bdev_io->u.bdev.split_outstanding == 0) {
					spdk_trace_record_tsc(spdk_get_ticks(), TRACE_BDEV_IO_DONE, 0, 0,
							      (uintptr_t)bdev_io, 0);
					TAILQ_REMOVE(&bdev_io->internal.ch->io_submitted, bdev_io, internal.ch_link);
					bdev_io->internal.cb(bdev_io, false, bdev_io->internal.caller_ctx);
				}
@@ -1781,6 +1783,8 @@ bdev_io_split_done(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg)
	 */
	if (parent_io->u.bdev.split_remaining_num_blocks == 0) {
		assert(parent_io->internal.cb != bdev_io_split_done);
		spdk_trace_record_tsc(spdk_get_ticks(), TRACE_BDEV_IO_DONE, 0, 0,
				      (uintptr_t)parent_io, 0);
		TAILQ_REMOVE(&parent_io->internal.ch->io_submitted, parent_io, internal.ch_link);
		parent_io->internal.cb(parent_io, parent_io->internal.status == SPDK_BDEV_IO_STATUS_SUCCESS,
				       parent_io->internal.caller_ctx);
@@ -1886,6 +1890,8 @@ bdev_io_submit(struct spdk_bdev_io *bdev_io)

	if (bdev->split_on_optimal_io_boundary && bdev_io_should_split(bdev_io)) {
		bdev_io->internal.submit_tsc = spdk_get_ticks();
		spdk_trace_record_tsc(bdev_io->internal.submit_tsc, TRACE_BDEV_IO_START, 0, 0,
				      (uintptr_t)bdev_io, bdev_io->type);
		bdev_io_split(NULL, bdev_io);
		return;
	}