• David Howells's avatar
    rxrpc: Move the cwnd degradation after transmitting packets · 5086d9a9
    David Howells authored
    When we've gone for >1RTT without transmitting a packet, we should reduce
    the ssthresh and cut the cwnd by half (as suggested in RFC2861 sec 3.1).
    
    However, we may receive ACK packets in a batch and the first of these may
    cut the cwnd, preventing further transmission, and each subsequent one cuts
    the cwnd yet further, reducing it to the floor and killing performance.
    
    Fix this by moving the cwnd reset to after doing the transmission and
    resetting the base time such that we don't cut the cwnd by half again for
    at least another RTT.
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    cc: Marc Dionne <marc.dionne@auristor.com>
    cc: linux-afs@lists.infradead.org
    5086d9a9
proc.c 13.5 KB