Commit dab99ec0 authored by Jacek Kalwas's avatar Jacek Kalwas Committed by Tomasz Zawadzki
Browse files

dif: improve dif ctx layout



DIF ctx can fit into single cache line now (change from 80 bytes to
64 bytes), moreover it has positive side effects for nvmf layer - nvmf
request data type is shrank.

Signed-off-by: default avatarJacek Kalwas <jacek.kalwas@intel.com>
Change-Id: Ia598e5c5666d77c3fc92e8c11a8cf95522c0d679
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21340


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
parent 47154c69
Loading
Loading
Loading
Loading
+12 −7
Original line number Diff line number Diff line
@@ -61,24 +61,28 @@ struct spdk_dif_ctx {
	/** Block size */
	uint32_t		block_size;

	/** Interval for guard computation for DIF */
	uint32_t		guard_interval;

	/** Metadata size */
	uint32_t		md_size;

	/** Metadata location */
	bool			md_interleave;

	/** Interval for guard computation for DIF */
	uint32_t		guard_interval;

	/** DIF type */
	enum spdk_dif_type	dif_type;
	uint8_t			dif_type; /* ref spdk_dif_ctx */

	/** DIF Protection Information format */
	enum spdk_dif_pi_format dif_pi_format;
	uint8_t			dif_pi_format; /* ref spdk_dif_pi_format */

	uint8_t			rsvd[1];

	/* Flags to specify the DIF action */
	uint32_t		dif_flags;

	uint8_t			rsvd2[4];

	/* Initial reference tag */
	uint64_t		init_ref_tag;

@@ -94,6 +98,9 @@ struct spdk_dif_ctx {
	/* Offset to initial reference tag */
	uint32_t		ref_tag_offset;

	/* Remapped initial reference tag. */
	uint32_t		remapped_init_ref_tag;

	/** Guard value of the last data block.
	 *
	 * Interim guard value is set if the last data block is partial, or
@@ -104,8 +111,6 @@ struct spdk_dif_ctx {
	/* Seed value for guard computation */
	uint64_t		guard_seed;

	/* Remapped initial reference tag. */
	uint32_t		remapped_init_ref_tag;
};

/** DIF error information */
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk

SO_VER := 7
SO_VER := 8
SO_MINOR := 0

C_SRCS = base64.c bit_array.c cpuset.c crc16.c crc32.c crc32c.c crc32_ieee.c crc64.c \