On 11-Dec-18 14:12, Majd Dibbiny wrote: > > On Dec 11, 2018, at 10:59 AM, Gal Pressman <galpress@xxxxxxxxxx<mailto:galpress@xxxxxxxxxx>> wrote: > > Hi Jason and Doug, > This patchset adds a 'sleepable' flag to create/destroy address handle flows in > order to allow drivers to wait for device completion instead of busy polling > when possible. > > Patches #1, #2 add the flag to create/destroy AH callbacks and change all the > drivers, patches #3, #4 change bnxt_re driver to make use of the flag and not > poll for firmware completion. > > I had some issues with rdmavt callbacks, it looks like their create_ah function > is not matching the callback signature. Not entirely sure if that's intended or > not so I didn't change it, let me know what you think about that. > Probably you need to rebase on top of Kamal’s following patch: > > [PATCH rdma-next v5 01/20] RDMA/rdmavt: Fix rvt_create_ah function signature Thanks Majd, Jason/Doug do you want me to rebase on top of this patch/patchset and send a v2? > > Gal Pressman (4): > RDMA: Mark if create address handle is in a sleepable context > RDMA: Mark if destroy address handle is in a sleepable context > RDMA/bnxt_re: Make use of create AH sleepable flag > RDMA/bnxt_re: Make use of destroy AH sleepable flag > > drivers/infiniband/core/agent.c | 4 ++-- > drivers/infiniband/core/cm.c | 6 ++--- > drivers/infiniband/core/mad_rmpp.c | 10 ++++---- > drivers/infiniband/core/sa_query.c | 4 ++-- > drivers/infiniband/core/user_mad.c | 4 ++-- > drivers/infiniband/core/uverbs_cmd.c | 2 +- > drivers/infiniband/core/uverbs_std_types.c | 2 +- > drivers/infiniband/core/verbs.c | 21 ++++++++++------ > drivers/infiniband/hw/bnxt_re/ib_verbs.c | 12 ++++++---- > drivers/infiniband/hw/bnxt_re/ib_verbs.h | 3 ++- > drivers/infiniband/hw/bnxt_re/qplib_sp.c | 10 ++++---- > drivers/infiniband/hw/bnxt_re/qplib_sp.h | 6 +++-- > drivers/infiniband/hw/hfi1/mad.c | 2 +- > drivers/infiniband/hw/hns/hns_roce_ah.c | 3 ++- > drivers/infiniband/hw/hns/hns_roce_device.h | 3 ++- > drivers/infiniband/hw/mlx4/ah.c | 6 ++--- > drivers/infiniband/hw/mlx4/mad.c | 32 ++++++++++++++----------- > drivers/infiniband/hw/mlx4/mlx4_ib.h | 4 ++-- > drivers/infiniband/hw/mlx5/ah.c | 4 ++-- > drivers/infiniband/hw/mlx5/mlx5_ib.h | 4 ++-- > drivers/infiniband/hw/mthca/mthca_mad.c | 6 ++--- > drivers/infiniband/hw/mthca/mthca_provider.c | 3 ++- > drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 4 ++-- > drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 4 ++-- > drivers/infiniband/hw/qedr/verbs.c | 4 ++-- > drivers/infiniband/hw/qedr/verbs.h | 4 ++-- > drivers/infiniband/hw/qib/qib_mad.c | 3 ++- > drivers/infiniband/hw/qib/qib_verbs.c | 2 +- > drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 3 ++- > drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 3 ++- > drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 6 +++-- > drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 4 ++-- > drivers/infiniband/sw/rdmavt/mad.c | 2 +- > drivers/infiniband/sw/rxe/rxe_verbs.c | 3 ++- > drivers/infiniband/ulp/ipoib/ipoib_ib.c | 4 ++-- > drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 8 +++---- > drivers/infiniband/ulp/srpt/ib_srpt.c | 4 ++-- > include/rdma/ib_verbs.h | 11 ++++++--- > 38 files changed, 126 insertions(+), 94 deletions(-) > > -- > 2.7.4 >