OSDN Git Service

tcp_cubic: remove one conditional from hystart_update()
authorEric Dumazet <edumazet@google.com>
Mon, 23 Dec 2019 20:27:51 +0000 (12:27 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 Dec 2019 00:29:14 +0000 (16:29 -0800)
If we initialize ca->curr_rtt to ~0U, we do not need to test
for zero value in hystart_update()

We only read ca->curr_rtt if at least HYSTART_MIN_SAMPLES have
been processed, and thus ca->curr_rtt will have a sane value.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_cubic.c

index 2979360..5eff762 100644 (file)
@@ -133,7 +133,7 @@ static inline void bictcp_hystart_reset(struct sock *sk)
 
        ca->round_start = ca->last_ack = bictcp_clock();
        ca->end_seq = tp->snd_nxt;
-       ca->curr_rtt = 0;
+       ca->curr_rtt = ~0U;
        ca->sample_cnt = 0;
 }
 
@@ -402,7 +402,7 @@ static void hystart_update(struct sock *sk, u32 delay)
        if (hystart_detect & HYSTART_DELAY) {
                /* obtain the minimum delay of more than sampling packets */
                if (ca->sample_cnt < HYSTART_MIN_SAMPLES) {
-                       if (ca->curr_rtt == 0 || ca->curr_rtt > delay)
+                       if (ca->curr_rtt > delay)
                                ca->curr_rtt = delay;
 
                        ca->sample_cnt++;