diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-07-26 02:49:34 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-07-31 05:27:57 -0400 |
commit | 30cfd0baf0a0c4329fff1ef4b622919297969ec8 (patch) | |
tree | 945a72f636ced1b443d894495704237e4cb7816d /net/ipv4/tcp_yeah.c | |
parent | 6a302358d87fedaf7bda12b8e909265ebf1ce674 (diff) |
[TCP]: congestion control API pass RTT in microseconds
This patch changes the API for the callback that is done after an ACK is
received. It solves a couple of issues:
* Some congestion controls want higher resolution value of RTT
(controlled by TCP_CONG_RTT_SAMPLE flag). These don't really want a ktime, but
all compute a RTT in microseconds.
* Other congestion control could use RTT at jiffies resolution.
To keep API consistent the units should be the same for both cases, just the
resolution should change.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_yeah.c')
-rw-r--r-- | net/ipv4/tcp_yeah.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/tcp_yeah.c b/net/ipv4/tcp_yeah.c index c04b7c6ec702..c107fba7430e 100644 --- a/net/ipv4/tcp_yeah.c +++ b/net/ipv4/tcp_yeah.c | |||
@@ -58,7 +58,7 @@ static void tcp_yeah_init(struct sock *sk) | |||
58 | } | 58 | } |
59 | 59 | ||
60 | 60 | ||
61 | static void tcp_yeah_pkts_acked(struct sock *sk, u32 pkts_acked, ktime_t last) | 61 | static void tcp_yeah_pkts_acked(struct sock *sk, u32 pkts_acked, s32 rtt_us) |
62 | { | 62 | { |
63 | const struct inet_connection_sock *icsk = inet_csk(sk); | 63 | const struct inet_connection_sock *icsk = inet_csk(sk); |
64 | struct yeah *yeah = inet_csk_ca(sk); | 64 | struct yeah *yeah = inet_csk_ca(sk); |
@@ -66,7 +66,7 @@ static void tcp_yeah_pkts_acked(struct sock *sk, u32 pkts_acked, ktime_t last) | |||
66 | if (icsk->icsk_ca_state == TCP_CA_Open) | 66 | if (icsk->icsk_ca_state == TCP_CA_Open) |
67 | yeah->pkts_acked = pkts_acked; | 67 | yeah->pkts_acked = pkts_acked; |
68 | 68 | ||
69 | tcp_vegas_pkts_acked(sk, pkts_acked, last); | 69 | tcp_vegas_pkts_acked(sk, pkts_acked, rtt_us); |
70 | } | 70 | } |
71 | 71 | ||
72 | static void tcp_yeah_cong_avoid(struct sock *sk, u32 ack, | 72 | static void tcp_yeah_cong_avoid(struct sock *sk, u32 ack, |