On 02/17/2016 03:35 PM, Steve Wise wrote: > This series creates new helper API functions for draining a queue pair. > It is a rework of an original patch created by Christoph Hellwig as > part of the CQ API rework and was dropped to be resubmitted by me with > iw_cxgb4 support. > > Original thread: http://www.spinics.net/lists/linux-rdma/msg30296.html > > > Changes since v3: > > - WARN_ONCE() if the CQ is using IB_POLL_DIRECT context. > > - added iser patch to use ib_drain_sq(). > > - fixed up function comments to specify caller requirements > > - checkpatched > > > Changes since v2: > > - created 3 drain API functions: ib_drain_rq(), ib_drain_sq(), and > ib_drain_qp() > > - add provider-specific drain function pointers for the sq and rq > > - refactored the code a bit > > - support for IB_DIRECT_POLL CQs > > > Changes since v1: > > - added comments to the ib_drain_qp() function header specifying the > consumer requirements > > - in __ib_drain_qp(), if the ib_post_send() fails, still wait for the > recv wr to drain since we already posted it. > > - CC the SRP maintainer, bart.vanassche@xxxxxxxxxxx. > > --- > > Steve Wise (4): > IB: new common API for draining queues > iw_cxgb4: add queue drain functions > IB/srp: Use ib_drain_rq() > IB/iser: Use ib_drain_sq() > > drivers/infiniband/core/verbs.c | 164 +++++++++++++++++++++++++++ > drivers/infiniband/hw/cxgb4/cq.c | 9 +- > drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 4 + > drivers/infiniband/hw/cxgb4/provider.c | 2 + > drivers/infiniband/hw/cxgb4/qp.c | 16 +++ > drivers/infiniband/ulp/iser/iscsi_iser.h | 7 -- > drivers/infiniband/ulp/iser/iser_initiator.c | 7 -- > drivers/infiniband/ulp/iser/iser_verbs.c | 15 +-- > drivers/infiniband/ulp/srp/ib_srp.c | 40 +------ > include/rdma/ib_verbs.h | 5 + > 10 files changed, 205 insertions(+), 64 deletions(-) > Series looks good now, thanks. -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: 0E572FDD
Attachment:
signature.asc
Description: OpenPGP digital signature