Commit 8b5c4be8 authored by Vincent Fu's avatar Vincent Fu Committed by Tomasz Zawadzki
Browse files

nvme/fio_plugin: add support for the disable_pcie_sgl_merge option



Add support for the disable_pcie_sgl_merge option to the fio nvme
plugin. This allows users to disable merging of physically contiguous
SGL elements for the PCIe transport.

Change-Id: Ib4fda74f0ffc18b83d71cdb154534fccfeda487b
Signed-off-by: default avatarVincent Fu <vincent.fu@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24195


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 avatarKonrad Sztyber <konrad.sztyber@intel.com>
parent e431ba2e
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ struct spdk_fio_options {
	int	print_qid_mappings;
	int	spdk_tracing;
	char	*log_flags;
	int	disable_pcie_sgl_merge;
};

struct spdk_fio_request {
@@ -753,6 +754,7 @@ spdk_fio_open(struct thread_data *td, struct fio_file *f)
	if (fio_options->enable_wrr) {
		qpopts.qprio = fio_options->wrr_priority;
	}
	qpopts.disable_pcie_sgl_merge = fio_options->disable_pcie_sgl_merge;

	fio_qpair->qpair = spdk_nvme_ctrlr_alloc_io_qpair(fio_ctrlr->ctrlr, &qpopts, sizeof(qpopts));
	if (!fio_qpair->qpair) {
@@ -1773,6 +1775,16 @@ static struct fio_option options[] = {
		.category	= FIO_OPT_C_ENGINE,
		.group		= FIO_OPT_G_INVALID,
	},
	{
		.name		= "disable_pcie_sgl_merge",
		.lname		= "Disable merging of physically contiguous SGL elements",
		.type		= FIO_OPT_INT,
		.off1		= offsetof(struct spdk_fio_options, disable_pcie_sgl_merge),
		.def		= "0",
		.help		= "Disable SGL element merging (0=merging, 1=no merging)",
		.category	= FIO_OPT_C_ENGINE,
		.group		= FIO_OPT_G_INVALID,
	},
	{
		.name		= "bit_bucket_data_len",
		.lname		= "Amount of data used for Bit Bucket",