Commit 0a889254 authored by Ben Walker's avatar Ben Walker Committed by Konrad Sztyber
Browse files

bdev: Re-arrange spdk_bdev_io_block_params so the important stuff is in


the first cache line

This saves a cache line access in the most common I/O paths.

Change-Id: I50885c17cf9fb35813eb71194686eeb9ece00cdb
Signed-off-by: default avatarBen Walker <ben@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21941


Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
parent 97048472
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -796,17 +796,6 @@ struct spdk_bdev_io_block_params {
	/** For SG buffer cases, number of iovecs in iovec array. */
	int iovcnt;

	/** For fused operations such as COMPARE_AND_WRITE, array of iovecs
	 *  for the second operation.
	 */
	struct iovec *fused_iovs;

	/** Number of iovecs in fused_iovs. */
	int fused_iovcnt;

	/* Metadata buffer */
	void *md_buf;

	/** Total size of data to be transferred. */
	uint64_t num_blocks;

@@ -820,6 +809,17 @@ struct spdk_bdev_io_block_params {
	/* Sequence of accel operations */
	struct spdk_accel_sequence *accel_sequence;

	/* Metadata buffer */
	void *md_buf;

	/** For fused operations such as COMPARE_AND_WRITE, array of iovecs
	 *  for the second operation.
	 */
	struct iovec *fused_iovs;

	/** Number of iovecs in fused_iovs. */
	int fused_iovcnt;

	/** stored user callback in case we split the I/O and use a temporary callback */
	spdk_bdev_io_completion_cb stored_user_cb;