xprt_adjust_cwnd — adjust transport congestion window
void xprt_adjust_cwnd ( | struct rpc_xprt * xprt, |
struct rpc_task * task, | |
int result) ; |
struct rpc_xprt * xprt
pointer to xprt
struct rpc_task * task
recently completed RPC request used to adjust window
int result
result code of completed RPC request
The transport code maintains an estimate on the maximum number of out- standing RPC requests, using a smoothed version of the congestion avoidance implemented in 44BSD. This is basically the Van Jacobson congestion algorithm: If a retransmit occurs, the congestion window is halved; otherwise, it is incremented by 1/cwnd when
- a reply is received and - a full number of requests are outstanding and - the congestion window hasn't been updated recently.