This is really a resubmit of some code clean up we floated a while back. The main goal here is to clean up some of the stuff which should be in the uapi directory vs in in the driver directory. Then to break the single lock for recv wqe processing. The accompanying user bits should already be in a PR on GitHub. Change log documented below each commit message. --- Kamenee Arumugam (3): IB/hfi1: Move rvt_cq_wc struct into uapi directory IB/hfi1: Move receive work queue struct into uapi directory IB/rdmavt: Fracture single lock used for posting and processing RWQEs drivers/infiniband/hw/hfi1/qp.c | 4 - drivers/infiniband/sw/rdmavt/cq.c | 191 ++++++++++++++++++----------- drivers/infiniband/sw/rdmavt/qp.c | 239 +++++++++++++++++++++++++----------- drivers/infiniband/sw/rdmavt/qp.h | 2 drivers/infiniband/sw/rdmavt/rc.c | 41 ++++-- drivers/infiniband/sw/rdmavt/srq.c | 69 ++++++---- include/rdma/rdmavt_cq.h | 22 ++- include/rdma/rdmavt_qp.h | 91 +++++++++++--- include/uapi/rdma/rvt-abi.h | 61 +++++++++ 9 files changed, 502 insertions(+), 218 deletions(-) create mode 100644 include/uapi/rdma/rvt-abi.h -- -Denny