All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sagi Grimberg <sagi@grimberg.me>
To: linux-nvme@lists.infradead.org
Cc: linux-block@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
	Keith Busch <keith.busch@intel.com>, Jens Axboe <axboe@kernel.dk>
Subject: [PATCH v4 0/6] restore nvme-rdma polling
Date: Fri, 14 Dec 2018 11:06:04 -0800	[thread overview]
Message-ID: <20181214190610.20086-1-sagi@grimberg.me> (raw)

Add an additional queue mapping for polling queues that will
host polling for latency critical I/O.

Allocate the poll queues with IB_POLL_DIRECT context. For nvmf connect
we introduce a new blk_execute_rq_polled to poll for the completion and
have nvmf_connect_io_queue use it for conneting polling queues.

Changes from v3:
- renamed nvme_rdma_poller_queue to nvme_rdma_poll_queue
- dropped explicit setting of QUEUE_FLAG_POLL in the connect_q
- report nr_maps=3 only if we got opts->nr_poll_queues
- dropped local cq variable from nvme_rdma_poll

Changes from v2:
- move blk_execute_rq_polled to nvme-core
- turn off REQ_HIPRI if polling is not supported (e.g. for stacking devices)
- omit nvme-cli patch - can be taken from v2
- removed blk_tag_to_qc_t and open-coded it in request_to_tag instead

Changes from v1:
- get rid of ib_change_cq_ctx
- poll for nvmf connect over poll queues

Christoph Hellwig (1):
  block: clear REQ_HIPRI if polling is not supported

Sagi Grimberg (5):
  block: make request_to_qc_t public
  nvme-core: optionally poll sync commands
  nvme-fabrics: allow nvmf_connect_io_queue to poll
  nvme-fabrics: allow user to pass in nr_poll_queues
  nvme-rdma: implement polling queue map

 block/blk-core.c            |  3 +++
 block/blk-mq.c              |  8 ------
 drivers/nvme/host/core.c    | 38 ++++++++++++++++++++++++----
 drivers/nvme/host/fabrics.c | 25 ++++++++++++++-----
 drivers/nvme/host/fabrics.h |  5 +++-
 drivers/nvme/host/fc.c      |  2 +-
 drivers/nvme/host/nvme.h    |  2 +-
 drivers/nvme/host/rdma.c    | 49 ++++++++++++++++++++++++++++++++-----
 drivers/nvme/host/tcp.c     |  2 +-
 drivers/nvme/target/loop.c  |  2 +-
 include/linux/blk-mq.h      | 10 ++++++++
 include/linux/blk_types.h   | 11 ---------
 12 files changed, 116 insertions(+), 41 deletions(-)

-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: sagi@grimberg.me (Sagi Grimberg)
Subject: [PATCH v4 0/6] restore nvme-rdma polling
Date: Fri, 14 Dec 2018 11:06:04 -0800	[thread overview]
Message-ID: <20181214190610.20086-1-sagi@grimberg.me> (raw)

Add an additional queue mapping for polling queues that will
host polling for latency critical I/O.

Allocate the poll queues with IB_POLL_DIRECT context. For nvmf connect
we introduce a new blk_execute_rq_polled to poll for the completion and
have nvmf_connect_io_queue use it for conneting polling queues.

Changes from v3:
- renamed nvme_rdma_poller_queue to nvme_rdma_poll_queue
- dropped explicit setting of QUEUE_FLAG_POLL in the connect_q
- report nr_maps=3 only if we got opts->nr_poll_queues
- dropped local cq variable from nvme_rdma_poll

Changes from v2:
- move blk_execute_rq_polled to nvme-core
- turn off REQ_HIPRI if polling is not supported (e.g. for stacking devices)
- omit nvme-cli patch - can be taken from v2
- removed blk_tag_to_qc_t and open-coded it in request_to_tag instead

Changes from v1:
- get rid of ib_change_cq_ctx
- poll for nvmf connect over poll queues

Christoph Hellwig (1):
  block: clear REQ_HIPRI if polling is not supported

Sagi Grimberg (5):
  block: make request_to_qc_t public
  nvme-core: optionally poll sync commands
  nvme-fabrics: allow nvmf_connect_io_queue to poll
  nvme-fabrics: allow user to pass in nr_poll_queues
  nvme-rdma: implement polling queue map

 block/blk-core.c            |  3 +++
 block/blk-mq.c              |  8 ------
 drivers/nvme/host/core.c    | 38 ++++++++++++++++++++++++----
 drivers/nvme/host/fabrics.c | 25 ++++++++++++++-----
 drivers/nvme/host/fabrics.h |  5 +++-
 drivers/nvme/host/fc.c      |  2 +-
 drivers/nvme/host/nvme.h    |  2 +-
 drivers/nvme/host/rdma.c    | 49 ++++++++++++++++++++++++++++++++-----
 drivers/nvme/host/tcp.c     |  2 +-
 drivers/nvme/target/loop.c  |  2 +-
 include/linux/blk-mq.h      | 10 ++++++++
 include/linux/blk_types.h   | 11 ---------
 12 files changed, 116 insertions(+), 41 deletions(-)

-- 
2.17.1

             reply	other threads:[~2018-12-14 19:06 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-14 19:06 Sagi Grimberg [this message]
2018-12-14 19:06 ` [PATCH v4 0/6] restore nvme-rdma polling Sagi Grimberg
2018-12-14 19:06 ` [PATCH v4 1/6] block: clear REQ_HIPRI if polling is not supported Sagi Grimberg
2018-12-14 19:06   ` Sagi Grimberg
2018-12-14 19:06 ` [PATCH v4 2/6] block: make request_to_qc_t public Sagi Grimberg
2018-12-14 19:06   ` Sagi Grimberg
2018-12-14 19:06 ` [PATCH v4 3/6] nvme-core: optionally poll sync commands Sagi Grimberg
2018-12-14 19:06   ` Sagi Grimberg
2018-12-14 19:06 ` [PATCH v4 4/6] nvme-fabrics: allow nvmf_connect_io_queue to poll Sagi Grimberg
2018-12-14 19:06   ` Sagi Grimberg
2018-12-14 19:06 ` [PATCH v4 5/6] nvme-fabrics: allow user to pass in nr_poll_queues Sagi Grimberg
2018-12-14 19:06   ` Sagi Grimberg
2018-12-14 19:06 ` [PATCH v4 6/6] nvme-rdma: implement polling queue map Sagi Grimberg
2018-12-14 19:06   ` Sagi Grimberg
2018-12-18 16:48 ` [PATCH v4 0/6] restore nvme-rdma polling Christoph Hellwig
2018-12-18 16:48   ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181214190610.20086-1-sagi@grimberg.me \
    --to=sagi@grimberg.me \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=keith.busch@intel.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.