06 Feb, 2019

2 commits

  • This patch adds the functions to build TID RDMA WRITE request.
    The work request opcode, packet opcode, and packet formats for TID
    RDMA WRITE protocol are also defined in this patch.

    Signed-off-by: Mitko Haralanov
    Signed-off-by: Mike Marciniszyn
    Signed-off-by: Ashutosh Dixit
    Signed-off-by: Kaike Wan
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Doug Ledford

    Kaike Wan
     
  • This patch adds the helper functions to build the TID RDMA READ request
    on the requester side. The key is to allocate TID resources (TID flow
    and TID entries) and send the resource information to the responder side
    along with the read request. Since the TID resources are limited, each
    TID RDMA READ request has to be split into segments with a default
    segment size of 256K. A software flow is allocated to track the data
    transaction for each segment. The work request opcode, packet opcode, and
    packet formats for TID RDMA READ protocol are also defined in this patch.

    Reviewed-by: Mike Marciniszyn
    Signed-off-by: Kaike Wan
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Doug Ledford

    Kaike Wan
     

02 Feb, 2018

3 commits

  • packet->fecn and packet->becn are calculated in the hot path
    and are never used. Remove these fields as they show to be
    costly in a profile. Also, remove initialization for
    becn and fecn in process_ecn() as they're unconditionally
    assigned in the function and ensure fecn and becn variables
    use a boolean type.

    Reviewed-by: Mike Marciniszyn
    Signed-off-by: Sebastian Sanchez
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Jason Gunthorpe

    Sebastian Sanchez
     
  • The packet type comparison used to find out if a packet is a bypass
    packet in the hot path is an expensive operation as seen in a profile.

    Determine packet's pkey and migration bit through the bypass and 9B
    code paths instead.

    Reviewed-by: Don Hiatt
    Reviewed-by: Mike Marciniszyn
    Signed-off-by: Sebastian Sanchez
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Jason Gunthorpe

    Sebastian Sanchez
     
  • In hfi1_rc_rcv(), BTH is computed for all packets received.
    However, it's only used for packets received with opcodes
    RDMA_WRITE_LAST and SEND_LAST, and it is a costly operation.

    Compute BTH only in the RDMA_WRITE_LAST/SEND_LAST code path
    and let the compiler handle endianness conversion for bitwise
    operations.

    Reviewed-by: Mike Marciniszyn
    Signed-off-by: Sebastian Sanchez
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Jason Gunthorpe

    Sebastian Sanchez
     

28 Jun, 2017

1 commit

  • Improve code readablity by adding inline functions
    to read specific BTH/IB fields without knowledge of
    byte offsets.

    Reviewed-by: Brian Welty
    Reviewed-by: Dasaratharaman Chandramouli
    Reviewed-by: Dennis Dalessandro
    Signed-off-by: Don Hiatt
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Doug Ledford

    Don Hiatt
     

29 Apr, 2017

2 commits

  • Move FECN and BECN related defines to common header files

    Reviewed-by: Dennis Dalessandro
    Signed-off-by: Don Hiatt
    Signed-off-by: Dasaratharaman Chandramouli
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Doug Ledford

    Don Hiatt
     
  • These inline functions improve code readability by
    enabling callers to read specific fields from the
    header without knowledge of byte offsets.

    Reviewed-by: Dennis Dalessandro
    Signed-off-by: Don Hiatt
    Signed-off-by: Dasaratharaman Chandramouli
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Doug Ledford

    Don Hiatt
     

19 Feb, 2017

1 commit


02 Oct, 2016

1 commit

  • Add IB headers, defines, and accessors that are identical
    in both qib and hfi1 into the core includes.

    The accessors for be maintenance of __be64 fields since
    alignment is potentially invalid and can differ based on
    the presense of the GRH.

    {hfi1,qib}_ib_headers will be ib_headers.
    {hfi1,qib|_other_headers will be ib_other_headers.

    Reviewed-by: Dennis Dalessandro
    Reviewed-by: Don Hiatt
    Signed-off-by: Mike Marciniszyn
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Doug Ledford

    Mike Marciniszyn