[RFC 0/5] use ib_client API to wrap ib_device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

This is a try to use ib_client API in order to wrap ib_device with a
specific ULP device, which is created on add() callback and destroyed
on remove().  Patches change initiator and target sides for NVMEoRDMA
and ISER.  Changes do not bring anything in terms of LoC but extra
mutexes and lists are vanished, since ib_client API does required
locking internally.

Also would be nice to avoid refcounting and synchronization in ISER
case, but ULP ib_clients remove() callback is called before cma_client,
thus ULP device should be alive till last reference put (NVMe queues
explicit delete works with workqueue flush, which guarantees us that
nvme_dev_dev_put() puts last reference in remove() callback).

This is RFC, since advantages of these patches are not quite clear.

Roman Pen (5):
  nvme-rdma: use ib_client API to wrap ib_device
  nvmet-rdma: use ib_client API to wrap ib_device
  IB/iser: use ib_client API to wrap ib_device
  IB/isert: embed mutex inside isert_device structure
  IB/isert: use ib_client API to wrap ib_device

 drivers/infiniband/ulp/iser/iscsi_iser.c |  21 +++++--
 drivers/infiniband/ulp/iser/iscsi_iser.h |  14 ++---
 drivers/infiniband/ulp/iser/iser_verbs.c |  69 ++++++++++++--------
 drivers/infiniband/ulp/isert/ib_isert.c  | 105 ++++++++++++++++++++-----------
 drivers/infiniband/ulp/isert/ib_isert.h  |   4 +-
 drivers/nvme/host/rdma.c                 |  82 +++++++++++-------------
 drivers/nvme/target/rdma.c               |  85 +++++++++++++------------
 7 files changed, 221 insertions(+), 159 deletions(-)

Signed-off-by: Roman Pen <roman.penyaev@xxxxxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
Cc: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Cc: Sagi Grimberg <sagi@xxxxxxxxxxx>
Cc: Doug Ledford <dledford@xxxxxxxxxx>

-- 
2.13.1

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux