diff --git a/CHANGELOG.md b/CHANGELOG.md index dbab13620d2..80b4739dcca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ Add optional 'no_wr_batching' parameter to 'nvmf_create_transport' RPC method. Add 'no_wr_batching' parameter in 'spdk_nvmf_transport_opts' for the ability disable WR batching RDMA. +Add NoWRBatching option in [Transport] section, this can be used for disable RDMA WR batching. + ### vmd A new function, `spdk_vmd_fini`, has been added. It releases all resources acquired by the VMD library through the `spdk_vmd_init` call. diff --git a/etc/spdk/nvmf.conf.in b/etc/spdk/nvmf.conf.in index 5799f65cfbd..3619f53523f 100644 --- a/etc/spdk/nvmf.conf.in +++ b/etc/spdk/nvmf.conf.in @@ -111,6 +111,9 @@ # Set the maximum number outstanding I/O per shared receive queue. Relevant only for RDMA transport #MaxSRQDepth 4096 + # Disable batching for RDMA requests + #NoWRBatching False + [Transport] # Set TCP transport type. Type TCP diff --git a/module/event/subsystems/nvmf/conf.c b/module/event/subsystems/nvmf/conf.c index 278ede8efc4..df8b8379c10 100644 --- a/module/event/subsystems/nvmf/conf.c +++ b/module/event/subsystems/nvmf/conf.c @@ -642,6 +642,8 @@ spdk_nvmf_parse_transport(struct spdk_nvmf_parse_transport_ctx *ctx) } bval = spdk_conf_section_get_boolval(ctx->sp, "NoSRQ", false); opts.no_srq = bval; + bval = spdk_conf_section_get_boolval(ctx->sp, "NoWRBatching", false); + opts.no_wr_batching = bval; } if (trtype == SPDK_NVME_TRANSPORT_TCP) {