diff options
author | Andrea Bittau <a.bittau@cs.ucl.ac.uk> | 2006-09-19 16:07:20 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-22 18:19:11 -0400 |
commit | d458c25ce24ce00ea547e9976e293e7835416253 (patch) | |
tree | b15e036537270aa0f70c390556aaa483702fd326 | |
parent | 29651cda97b0a9e4ac0fbeb5ea731a9909f0f128 (diff) |
[DCCP] CCID2: Initialize ssthresh to infinity
Initialize the slow-start threshold to infinity. This way, upon connection
initiation, slow-start will be exited only upon a packet loss. This patch will
allow connections to quickly gain speed.
Signed-off-by: Andrea Bittau <a.bittau@cs.ucl.ac.uk>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/dccp/ccids/ccid2.c | 7 | ||||
-rw-r--r-- | net/dccp/ccids/ccid2.h | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/net/dccp/ccids/ccid2.c b/net/dccp/ccids/ccid2.c index 54a6b7ef3b7b..699a56674659 100644 --- a/net/dccp/ccids/ccid2.c +++ b/net/dccp/ccids/ccid2.c | |||
@@ -678,9 +678,12 @@ static int ccid2_hc_tx_init(struct ccid *ccid, struct sock *sk) | |||
678 | int seqcount = ccid2_seq_len; | 678 | int seqcount = ccid2_seq_len; |
679 | int i; | 679 | int i; |
680 | 680 | ||
681 | /* XXX init variables with proper values */ | ||
682 | hctx->ccid2hctx_cwnd = 1; | 681 | hctx->ccid2hctx_cwnd = 1; |
683 | hctx->ccid2hctx_ssthresh = 10; | 682 | /* Initialize ssthresh to infinity. This means that we will exit the |
683 | * initial slow-start after the first packet loss. This is what we | ||
684 | * want. | ||
685 | */ | ||
686 | hctx->ccid2hctx_ssthresh = ~0; | ||
684 | hctx->ccid2hctx_numdupack = 3; | 687 | hctx->ccid2hctx_numdupack = 3; |
685 | 688 | ||
686 | /* XXX init ~ to window size... */ | 689 | /* XXX init ~ to window size... */ |
diff --git a/net/dccp/ccids/ccid2.h b/net/dccp/ccids/ccid2.h index 451a87464fa5..b4cc6c0bf020 100644 --- a/net/dccp/ccids/ccid2.h +++ b/net/dccp/ccids/ccid2.h | |||
@@ -50,7 +50,7 @@ struct ccid2_hc_tx_sock { | |||
50 | int ccid2hctx_cwnd; | 50 | int ccid2hctx_cwnd; |
51 | int ccid2hctx_ssacks; | 51 | int ccid2hctx_ssacks; |
52 | int ccid2hctx_acks; | 52 | int ccid2hctx_acks; |
53 | int ccid2hctx_ssthresh; | 53 | unsigned int ccid2hctx_ssthresh; |
54 | int ccid2hctx_pipe; | 54 | int ccid2hctx_pipe; |
55 | int ccid2hctx_numdupack; | 55 | int ccid2hctx_numdupack; |
56 | struct ccid2_seq *ccid2hctx_seqbuf; | 56 | struct ccid2_seq *ccid2hctx_seqbuf; |