fabrics: add option to override drivers queue depth
Subsystems (2)
PATCH 1/1 fabrics: add option to override drivers queue depth
Currently it is not possible to override the fabrics drivers default queue depth with the nvme userspace utility, but only when manually writing the parameters to the /dev/nvme-fabrics character device.
Add an option to override the drivers default queue depth for NVMe over fabrics.
--- Documentation/nvme-connect.txt | 6 ++++++ fabrics.c | 11 +++++++++++ 2 files changed, 17 insertions(+)
Documentation/nvme-connect.txt +6 -0
@@ -16,6 +16,7 @@ SYNOPSIS [--host-traddr=<traddr> | -w <traddr>] [--hostnqn=<hostnqn> | -q <hostnqn>] [--nr-io-queues=<#> | -i <#>] + [--queue-size=<#> | -Q <#>] [--keep-alive-tmo=<#> | -k <#>] [--reconnect-delay=<#> | -c <#>]
@@ -73,6 +74,11 @@ OPTIONS --nr-io-queues=<#>:: Overrides the default number of I/O queues create by the driver. +-Q <#>:: +--queue-size=<#>:: + Overrides the default number of elements in the I/O queues created + by the driver. + -k <#>:: --keep-alive-tmo=<#>:: Overrides the default keep alive timeout (in seconds).
fabrics.c +11 -0
@@ -52,6 +52,7 @@ static struct config {char *host_traddr;char *hostnqn;char *nr_io_queues; +char *queue_size;char *keep_alive_tmo;char *reconnect_delay;char *raw;
@@ -524,6 +525,15 @@ static int build_options(char *argstr, int max_len) max_len -= len; } +if (cfg.queue_size) { + len =snprintf (argstr, max_len,",queue_size=%s" , + cfg.queue_size); +if (len <0 ) +return -EINVAL ; + argstr += len; + max_len -= len; + } +if (cfg.keep_alive_tmo) { len =snprintf (argstr, max_len,",keep_alive_tmo=%s" , cfg.keep_alive_tmo);if (len <0 )
@@ -805,6 +815,7 @@ int connect(const char *desc, int argc, char **argv) {"host-traddr", 'w', "LIST", CFG_STRING, &cfg.host_traddr, required_argument, "host traddr (e.g. FC WWN's)" }, {"hostnqn", 'q', "LIST", CFG_STRING, &cfg.hostnqn, required_argument, "user-defined hostnqn" }, {"nr-io-queues", 'i', "LIST", CFG_STRING, &cfg.nr_io_queues, required_argument, "number of io queues to use (default is core count)" }, + {"queue-size", 'Q', "LIST", CFG_STRING, &cfg.queue_size, required_argument, "number of io queue elements to use (default 128)" }, {"keep-alive-tmo", 'k', "LIST", CFG_STRING, &cfg.keep_alive_tmo, required_argument, "keep alive timeout period in seconds" }, {"reconnect-delay", 'c', "LIST", CFG_STRING, &cfg.reconnect_delay, required_argument, "reconnect timeout period in seconds" }, {NULL},
Signature · 1 line
1.8.5.6
Christoph Hellwig
maintainerPATCH 1/1 fabrics: add option to override drivers queue depth
Quoted 6 lines · Johannes Thumshirn
Currently it is not possible to override the fabrics drivers default queue depth with the nvme userspace utility, but only when manually writing the parameters to the
/dev/nvme-fabricscharacter device.Add an option to override the drivers default queue depth for NVMe over fabrics.
Looks fine, but we should probably also add this to connect-all.
PATCH 1/1 fabrics: add option to override drivers queue depth
Quoted 9 lines · Christoph Hellwig
Quoted 6 lines · Johannes Thumshirn
Currently it is not possible to override the fabrics drivers default queue depth with the nvme userspace utility, but only when manually writing the parameters to the
/dev/nvme-fabricscharacter device.Add an option to override the drivers default queue depth for NVMe over fabrics.
Looks fine, but we should probably also add this to connect-all.
Agreed. I applied the one as-is, and will apply the connect-all update when that's posted.
PATCH 1/1 fabrics: add option to override drivers queue depth
Quoted 2 lines · Keith Busch
Agreed. I applied the one as-is, and will apply the connect-all update when that's posted.
OK, I'll send a connect-all version as well.
Thanks,
Johannes
Signature · 6 lines
Johannes Thumshirn Storage jthumshirn at suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N?rnberg GF: Felix Imend?rffer, Jane Smithard, Graham Norton HRB 21284 (AG N?rnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850