IB/hfi1: Add interlock between a TID RDMA request and other requests
This locking mechanism is designed to provent vavious memory corruption scenarios from occurring when requests are pipelined, especially when RDMA READ/WRITE requests are interleaved with TID RDMA READ/WRITE requests: 1. READ-AFTER-READ; 2. READ-AFTER-WRITE; 3. WRITE-AFTER-READ; When memory corruption is likely, a request will be held back until previous requests have been completed. Reviewed-by:Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by:
Mitko Haralanov <mitko.haralanov@intel.com> Signed-off-by:
Kaike Wan <kaike.wan@intel.com> Signed-off-by:
Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
Showing
- drivers/infiniband/hw/hfi1/rc.c 16 additions, 0 deletionsdrivers/infiniband/hw/hfi1/rc.c
- drivers/infiniband/hw/hfi1/tid_rdma.c 37 additions, 0 deletionsdrivers/infiniband/hw/hfi1/tid_rdma.c
- drivers/infiniband/hw/hfi1/tid_rdma.h 11 additions, 0 deletionsdrivers/infiniband/hw/hfi1/tid_rdma.h
- drivers/infiniband/hw/hfi1/verbs.h 3 additions, 0 deletionsdrivers/infiniband/hw/hfi1/verbs.h
Loading
Please register or sign in to comment