]> www.infradead.org Git - users/dwmw2/linux.git/commit
IB/rdmavt: Add new completion inline
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Thu, 13 Jun 2019 12:30:44 +0000 (08:30 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 16 Sep 2019 06:23:21 +0000 (08:23 +0200)
commit9d3d11319bd20c7d8935f9368dc5566867b5e203
treec964502f9e0299c6b25599548c39b471d458fb97
parent16d2d609ff0f1aded31913e4ff887007961085f8
IB/rdmavt: Add new completion inline

There is opencoded send completion logic all over all
the drivers.

We need to convert to this routine to enforce ordering
issues for completions.  This routine fixes an ordering
issue where the read of the SWQE fields necessary for creating
the completion can race with a post send if the post send catches
a send queue at the edge of being full.  Is is possible in that situation
to read SWQE fields that are being written.

This new routine insures that SWQE fields are read prior to advancing
the index that post send uses to determine queue fullness.

Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
include/rdma/rdmavt_qp.h