All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/6] restore nvme-rdma polling
@ 2018-12-13 21:34 ` Sagi Grimberg
  0 siblings, 0 replies; 24+ messages in thread
From: Sagi Grimberg @ 2018-12-13 21:34 UTC (permalink / raw)
  To: linux-nvme
  Cc: linux-block, linux-rdma, Christoph Hellwig, Keith Busch, Jens Axboe

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 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    | 58 +++++++++++++++++++++++++++++++++----
 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, 125 insertions(+), 41 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2018-12-14 19:00 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-13 21:34 [PATCH v3 0/6] restore nvme-rdma polling Sagi Grimberg
2018-12-13 21:34 ` Sagi Grimberg
2018-12-13 21:34 ` [PATCH v3 1/6] block: clear REQ_HIPRI if polling is not supported Sagi Grimberg
2018-12-13 21:34   ` Sagi Grimberg
2018-12-13 21:34 ` [PATCH v3 2/6] block: make request_to_qc_t public Sagi Grimberg
2018-12-13 21:34   ` Sagi Grimberg
2018-12-14 15:43   ` Christoph Hellwig
2018-12-14 15:43     ` Christoph Hellwig
2018-12-14 16:52   ` Jens Axboe
2018-12-14 16:52     ` Jens Axboe
2018-12-13 21:34 ` [PATCH v3 3/6] nvme-core: optionally poll sync commands Sagi Grimberg
2018-12-13 21:34   ` Sagi Grimberg
2018-12-14 15:44   ` Christoph Hellwig
2018-12-14 15:44     ` Christoph Hellwig
2018-12-13 21:34 ` [PATCH v3 4/6] nvme-fabrics: allow nvmf_connect_io_queue to poll Sagi Grimberg
2018-12-13 21:34   ` Sagi Grimberg
2018-12-13 21:34 ` [PATCH v3 5/6] nvme-fabrics: allow user to pass in nr_poll_queues Sagi Grimberg
2018-12-13 21:34   ` Sagi Grimberg
2018-12-13 21:34 ` [PATCH v3 6/6] nvme-rdma: implement polling queue map Sagi Grimberg
2018-12-13 21:34   ` Sagi Grimberg
2018-12-14 15:46   ` Christoph Hellwig
2018-12-14 15:46     ` Christoph Hellwig
2018-12-14 18:59     ` Sagi Grimberg
2018-12-14 18:59       ` Sagi Grimberg

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.