linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] restore nvme-rdma polling
@ 2018-12-13  6:38 Sagi Grimberg
  2018-12-13  6:38 ` [PATCH v2 1/6] block: introduce blk_execute_rq_polled Sagi Grimberg
                   ` (6 more replies)
  0 siblings, 7 replies; 23+ messages in thread
From: Sagi Grimberg @ 2018-12-13  6:38 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.

Finally, we turn off polling support for nvme-multipath as it won't invoke
polling and our completion queues no longer generates any interrupts for
it. I didn't come up with a good way to get around it so far...

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

Sagi Grimberg (6):
  block: introduce blk_execute_rq_polled
  nvme-core: allow __nvme_submit_sync_cmd to poll
  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
  nvme-multipath: disable polling for underlying namespace request queue

 block/blk-exec.c            | 29 +++++++++++++++++++
 block/blk-mq.c              |  8 -----
 drivers/nvme/host/core.c    | 15 ++++++----
 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      |  8 +++++
 include/linux/blkdev.h      |  2 ++
 12 files changed, 128 insertions(+), 30 deletions(-)

-- 
2.17.1


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

end of thread, other threads:[~2018-12-13 20:13 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-13  6:38 [PATCH v2 0/6] restore nvme-rdma polling Sagi Grimberg
2018-12-13  6:38 ` [PATCH v2 1/6] block: introduce blk_execute_rq_polled Sagi Grimberg
2018-12-13  8:24   ` Christoph Hellwig
2018-12-13 15:23   ` Steve Wise
2018-12-13  6:38 ` [PATCH v2 2/6] nvme-core: allow __nvme_submit_sync_cmd to poll Sagi Grimberg
2018-12-13  8:27   ` Christoph Hellwig
2018-12-13 15:19   ` Steve Wise
2018-12-13  6:38 ` [PATCH v2 3/6] nvme-fabrics: allow nvmf_connect_io_queue " Sagi Grimberg
2018-12-13  8:27   ` Christoph Hellwig
2018-12-13 15:25   ` Steve Wise
2018-12-13  6:38 ` [PATCH v2 4/6] nvme-fabrics: allow user to pass in nr_poll_queues Sagi Grimberg
2018-12-13 15:26   ` Steve Wise
2018-12-13  6:38 ` [PATCH v2 5/6] nvme-rdma: implement polling queue map Sagi Grimberg
2018-12-13 15:28   ` Steve Wise
2018-12-13  6:38 ` [PATCH v2 6/6] nvme-multipath: disable polling for underlying namespace request queue Sagi Grimberg
2018-12-13  8:31   ` Christoph Hellwig
2018-12-13 15:49     ` Sagi Grimberg
2018-12-13 15:52       ` Christoph Hellwig
2018-12-13 16:14         ` Sagi Grimberg
2018-12-13 20:13           ` Christoph Hellwig
2018-12-13 15:28   ` Steve Wise
2018-12-13  6:38 ` [PATCH v2 nvme-cli 7/6] fabrics: pass in number of polling queues Sagi Grimberg
2018-12-13 15:29   ` Steve Wise

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).