From d18874592d2e30c11c951f9aadaa0071f5dc20bd Mon Sep 17 00:00:00 2001 From: Evgeniy Kochetov Date: Mon, 18 Nov 2019 17:25:19 +0000 Subject: [PATCH] nvme/conf: Make 'delay_cmd_submit' configurable via config file Option 'DelayCmdSubmit' has been added to 'Nvme' section of configuration file. Signed-off-by: Evgeniy Kochetov Signed-off-by: Sasha Kotchubievsky Signed-off-by: Alexey Marchuk Change-Id: Ie367d0012d8274b9bf12c0377d1c4804a700ac94 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475307 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto --- etc/spdk/nvmf.conf.in | 4 ++++ module/bdev/nvme/bdev_nvme.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/etc/spdk/nvmf.conf.in b/etc/spdk/nvmf.conf.in index ae35f1b43..6731b273c 100644 --- a/etc/spdk/nvmf.conf.in +++ b/etc/spdk/nvmf.conf.in @@ -199,6 +199,10 @@ # Default: No HotplugEnable No + # Enable/disable delayed NVMe command submission. + # Default: True. + DelayCmdSubmit True + # The Split virtual block device slices block devices into multiple smaller bdevs. [Split] # Syntax: diff --git a/module/bdev/nvme/bdev_nvme.c b/module/bdev/nvme/bdev_nvme.c index 35ae93dbe..8aaae2662 100644 --- a/module/bdev/nvme/bdev_nvme.c +++ b/module/bdev/nvme/bdev_nvme.c @@ -1619,6 +1619,9 @@ bdev_nvme_library_init(void) g_nvme_hostnqn = spdk_conf_section_get_val(sp, "HostNQN"); probe_ctx->hostnqn = g_nvme_hostnqn; + g_opts.delay_cmd_submit = spdk_conf_section_get_boolval(sp, "DelayCmdSubmit", + SPDK_BDEV_NVME_DEFAULT_DELAY_CMD_SUBMIT); + for (i = 0; i < NVME_MAX_CONTROLLERS; i++) { val = spdk_conf_section_get_nmval(sp, "TransportID", i, 0); if (val == NULL) { @@ -2253,6 +2256,7 @@ bdev_nvme_get_spdk_running_config(FILE *fp) if (g_nvme_hostnqn) { fprintf(fp, "HostNQN %s\n", g_nvme_hostnqn); } + fprintf(fp, "DelayCmdSubmit %s\n", g_opts.delay_cmd_submit ? "True" : "False"); fprintf(fp, "\n"); }