]> asedeno.scripts.mit.edu Git - linux.git/commit
IB/hfi1: Delay the release of destination mr for TID RDMA WRITE DATA
authorKaike Wan <kaike.wan@intel.com>
Mon, 18 Mar 2019 16:58:30 +0000 (09:58 -0700)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 3 Apr 2019 18:27:30 +0000 (15:27 -0300)
commitf6f3f532556e4fcaa2d259fd04a800bfb4f9670d
tree6ee8e59d3dcac951660fb12a8aeeb9d90395d7de
parent1abe186ed8a6593069bc122da55fc684383fdc1c
IB/hfi1: Delay the release of destination mr for TID RDMA WRITE DATA

The reference of destination memory region is first obtained when TID RDMA
WRITE request is first received on the responder side. This reference is
released once all TID RDMA WRITE RESP packets are sent to the requester
side, even though not all TID RDMA WRITE DATA packets may have been
received. This early release will especially be undesired if the software
needs to access the destination memory before the last data packet is
received.

This patch delays the release of the MR until all TID RDMA DATA packets
have been received. A helper function to release the reference is also
created to simplify the code.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Kaike Wan <kaike.wan@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hfi1/rc.c
drivers/infiniband/hw/hfi1/rc.h
drivers/infiniband/hw/hfi1/tid_rdma.c