• S
    RDMA/cxgb4: Support variable sized work requests · d37ac31d
    Steve Wise 提交于
    T4 EQ entries are in multiples of 64 bytes.  Currently the RDMA SQ and
    RQ use fixed sized entries composed of 4 EQ entries for the SQ and 2
    EQ entries for the RQ.  For optimial latency with small IO, we need to
    change this so the HW only needs to DMA the EQ entries actually used
    by a given work request.
    
    Implementation:
    
    - add wq_pidx counter to track where we are in the EQ.  cidx/pidx are
      used for the sw sq/rq tracking and flow control.
    
    - the variable part of work requests is the SGL.  Add new functions to
      build the SGL and/or immediate data directly in the EQ memory
      wrapping when needed.
    
    - adjust the min burst size for the EQ contexts to 64B.
    Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
    Signed-off-by: NRoland Dreier <rolandd@cisco.com>
    d37ac31d
qp.c 42.6 KB