aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/ccids/ccid3.c
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2007-09-26 01:40:44 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:52:35 -0400
commit3393da8241ae3a53e183ba15f8bd822995ec97cd (patch)
tree28e6d2823d901976844982319e4c53b76a55967c /net/dccp/ccids/ccid3.c
parent4c70f383e0c0273c4092c4efdb414be0966978b7 (diff)
[DCCP]: Simplify interface of dccp_sample_rtt
The third parameter of dccp_sample_rtt now becomes useless and is removed. Also combined the subtraction of the timestamp echo and the elapsed time. This is safe, since (a) presence of timestamp echo is tested first and (b) elapsed time is either present and non-zero or it is not set and equals 0 due to the memset in dccp_parse_options. To avoid measuring option-processing time, the timestamp for measuring the initial Request/Response RTT sample is taken directly when the function is called (the Linux implementation always adds a timestamp on the Request, so there is no loss in doing this). Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Signed-off-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/ccids/ccid3.c')
-rw-r--r--net/dccp/ccids/ccid3.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/dccp/ccids/ccid3.c b/net/dccp/ccids/ccid3.c
index e16f9bb9eaaf..0bb338be9dd7 100644
--- a/net/dccp/ccids/ccid3.c
+++ b/net/dccp/ccids/ccid3.c
@@ -448,7 +448,7 @@ static void ccid3_hc_tx_packet_recv(struct sock *sk, struct sk_buff *skb)
448 * Calculate new round trip sample as per [RFC 3448, 4.3] by 448 * Calculate new round trip sample as per [RFC 3448, 4.3] by
449 * R_sample = (now - t_recvdata) - t_elapsed 449 * R_sample = (now - t_recvdata) - t_elapsed
450 */ 450 */
451 r_sample = dccp_sample_rtt(sk, now, &packet->dccphtx_tstamp); 451 r_sample = dccp_sample_rtt(sk, ktime_us_delta(now, packet->dccphtx_tstamp));
452 452
453 /* 453 /*
454 * Update RTT estimate by 454 * Update RTT estimate by
@@ -881,9 +881,9 @@ static void ccid3_hc_rx_packet_recv(struct sock *sk, struct sk_buff *skb)
881 case DCCP_PKT_DATAACK: 881 case DCCP_PKT_DATAACK:
882 if (opt_recv->dccpor_timestamp_echo == 0) 882 if (opt_recv->dccpor_timestamp_echo == 0)
883 break; 883 break;
884 r_sample = dccp_timestamp() - opt_recv->dccpor_timestamp_echo;
884 rtt_prev = hcrx->ccid3hcrx_rtt; 885 rtt_prev = hcrx->ccid3hcrx_rtt;
885 now = ktime_get_real(); 886 r_sample = dccp_sample_rtt(sk, 10 * r_sample);
886 r_sample = dccp_sample_rtt(sk, now, NULL);
887 887
888 if (hcrx->ccid3hcrx_state == TFRC_RSTATE_NO_DATA) 888 if (hcrx->ccid3hcrx_state == TFRC_RSTATE_NO_DATA)
889 hcrx->ccid3hcrx_rtt = r_sample; 889 hcrx->ccid3hcrx_rtt = r_sample;