• Bob Pearson's avatar
    RDMA/rxe: Get rid of pkt resend on err · 9cc62909
    Bob Pearson authored
    Currently the rxe_driver detects packet drops by ip_local_out() which
    occur before the packet is sent on the wire and attempts to resend
    them. This is redundant with the usual retry mechanism which covers
    packets that get dropped in transit to or from the remote node.
    
    The way this is implemented is not robust since it sets need_req_skb and
    waits for the number of local skbs outstanding for this qp to drop below a
    low water mark. This is racy since the skb may be sent to the destructor
    before the requester can set the need_req_skb flag. This will cause a
    deadlock in the send path for that qp.
    
    This patch removes this mechanism since the normal retry path will correct
    the error and resend the packet and it makes no difference if the packet
    is dropped locally or later.
    
    Link: https://lore.kernel.org/r/20240329145513.35381-14-rpearsonhpe@gmail.comSigned-off-by: default avatarBob Pearson <rpearsonhpe@gmail.com>
    Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
    9cc62909
rxe_net.c 14.8 KB