nr_poll_queues specifies the number of additional queues that will
be connected for hosting polling latency critical I/O.

Signed-off-by: Sagi Grimberg <[email protected]>
---
 Documentation/nvme-connect.txt |  5 +++++
 fabrics.c                      | 10 ++++++++++
 2 files changed, 15 insertions(+)

diff --git a/Documentation/nvme-connect.txt b/Documentation/nvme-connect.txt
index d4a0e6678475..5412472dbd35 100644
--- a/Documentation/nvme-connect.txt
+++ b/Documentation/nvme-connect.txt
@@ -17,6 +17,7 @@ SYNOPSIS
                [--hostnqn=<hostnqn>      | -q <hostnqn>]
                [--nr-io-queues=<#>       | -i <#>]
                [--nr-write-queues=<#>    | -W <#>]
+               [--nr-poll-queues=<#>     | -P <#>]
                [--queue-size=<#>         | -Q <#>]
                [--keep-alive-tmo=<#>     | -k <#>]
                [--reconnect-delay=<#>    | -c <#>]
@@ -80,6 +81,10 @@ OPTIONS
 --nr-write-queues=<#>::
        Adds additional queues that will be used for write I/O.
 
+-P <#>::
+--nr-poll-queues=<#>::
+       Adds additional queues that will be used for polling latency sensitive 
I/O.
+
 -Q <#>::
 --queue-size=<#>::
        Overrides the default number of elements in the I/O queues created
diff --git a/fabrics.c b/fabrics.c
index 5cc1a795345a..efe2ce89cdca 100644
--- a/fabrics.c
+++ b/fabrics.c
@@ -54,6 +54,7 @@ static struct config {
        char *hostid;
        int  nr_io_queues;
        int  nr_write_queues;
+       int  nr_poll_queues;
        int  queue_size;
        int  keep_alive_tmo;
        int  reconnect_delay;
@@ -624,6 +625,8 @@ static int build_options(char *argstr, int max_len)
                                cfg.nr_io_queues) ||
            add_int_argument(&argstr, &max_len, "nr_write_queues",
                                cfg.nr_write_queues) ||
+           add_int_argument(&argstr, &max_len, "nr_poll_queues",
+                               cfg.nr_poll_queues) ||
            add_int_argument(&argstr, &max_len, "queue_size", cfg.queue_size) ||
            add_int_argument(&argstr, &max_len, "keep_alive_tmo",
                                cfg.keep_alive_tmo) ||
@@ -704,6 +707,13 @@ retry:
                p += len;
        }
 
+       if (cfg.nr_poll_queues) {
+               len = sprintf(p, ",nr_poll_queues=%d", cfg.nr_poll_queues);
+               if (len < 0)
+                       return -EINVAL;
+               p += len;
+       }
+
        if (cfg.host_traddr) {
                len = sprintf(p, ",host_traddr=%s", cfg.host_traddr);
                if (len < 0)
-- 
2.17.1

Reply via email to