linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH WIP/RFC v3 0/6] nvme-rdma device removal fixes
@ 2016-08-30 16:26 Steve Wise
  2016-08-29 21:26 ` [PATCH WIP/RFC v3 1/6] iw_cxgb4: call dev_put() on l2t allocation failure Steve Wise
                   ` (5 more replies)
  0 siblings, 6 replies; 20+ messages in thread
From: Steve Wise @ 2016-08-30 16:26 UTC (permalink / raw)


This series is a Work In Progress (WIP) attempting to address several
problems when shutting down a nvme-rdma host when its controllers are
attempting to reconnect to a target that is no longer reachable.

I'm still testing but I welcome review.  Specifically the last patch
which solves the problem of always being able to detect a device removal.

To tickle these bugs:

1) attach over iw_cxgb4 to 10 devices on a target.
2) 'ifconfig down' the target's interface
3) wait for keep-alive to fire and begin reconnecting (~15-20 seconds)
4) do one of these on the host:
   - rmmod iw_cxgb4
   - reboot
   - reboot -f

Changes since v2:

- refactor/simplify the remove_one function.

- nvme-rdma module remove function doesn't need to explicitly
remove the controllers; they will be removed as part of
ib_client unregister.

- removed forward declarations.

Changes since v1:

- the big change was patch 6 rewrite - use client_ib API to handle
device removal instead of rdma_cm device removal events.

- tweaked patch 5 to avoid bisect issues

- small code rework on patch 3 based on Christoph's suggestion

- clear_bit() -> !test_and_clear_bit() in patch 4 (Christoph's comment)

- add reviewed-by tags.

---

Sagi Grimberg (1):
  nvme-rdma: add DELETING queue flag

Steve Wise (5):
  iw_cxgb4: call dev_put() on l2t allocation failure
  iw_cxgb4: block module unload until all ep resources are released
  nvme_rdma: keep a ref on the ctrl during delete/flush
  nvme-rdma: destroy nvme queue rdma resources on connect failure
  nvme-rdma: use ib_client API to detect device removal

 drivers/infiniband/hw/cxgb4/cm.c       |   6 +-
 drivers/infiniband/hw/cxgb4/device.c   |   5 ++
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h |   1 +
 drivers/nvme/host/rdma.c               | 136 ++++++++++++++++-----------------
 4 files changed, 77 insertions(+), 71 deletions(-)

-- 
2.7.0

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

end of thread, other threads:[~2016-09-01 15:00 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-30 16:26 [PATCH WIP/RFC v3 0/6] nvme-rdma device removal fixes Steve Wise
2016-08-29 21:26 ` [PATCH WIP/RFC v3 1/6] iw_cxgb4: call dev_put() on l2t allocation failure Steve Wise
2016-09-01  8:34   ` Christoph Hellwig
2016-08-29 21:26 ` [PATCH WIP/RFC v3 2/6] iw_cxgb4: block module unload until all ep resources are released Steve Wise
2016-09-01  8:35   ` Christoph Hellwig
2016-08-29 21:27 ` [PATCH WIP/RFC v3 3/6] nvme_rdma: keep a ref on the ctrl during delete/flush Steve Wise
2016-08-30 17:24   ` Sagi Grimberg
2016-08-30 17:48     ` Steve Wise
2016-08-31  5:06       ` Sagi Grimberg
2016-08-31 14:29         ` Steve Wise
2016-09-01  6:40           ` Sagi Grimberg
2016-09-01  8:36     ` Christoph Hellwig
2016-09-01  9:31       ` Sagi Grimberg
2016-08-29 21:28 ` [PATCH WIP/RFC v3 5/6] nvme-rdma: add DELETING queue flag Sagi Grimberg
2016-09-01  8:41   ` Christoph Hellwig
2016-09-01 13:34     ` Steve Wise
2016-08-29 21:28 ` [PATCH WIP/RFC v3 4/6] nvme-rdma: destroy nvme queue rdma resources on connect failure Steve Wise
2016-09-01 15:00   ` Steve Wise
2016-08-30 16:25 ` [PATCH WIP/RFC v3 6/6] nvme-rdma: use ib_client API to detect device removal Steve Wise
2016-09-01  8:36   ` Christoph Hellwig

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).