tcp: move mdev_us init to tcp_disconnect()
authorEric Dumazet <edumazet@google.com>
Thu, 17 Jan 2019 19:23:36 +0000 (11:23 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Jan 2019 06:19:05 +0000 (22:19 -0800)
If we make sure a listener always has its mdev_us
field set to TCP_TIMEOUT_INIT, we do not need to rewrite
this field after a new clone is created.

tcp_disconnect() is very seldom used in real applications.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c
net/ipv4/tcp_minisocks.c

index 9d8131f95a9732fb873c8a8b2c918657e1dade30..731b1c6e88a992e51b9e303803444dc255d888fa 100644 (file)
@@ -2572,6 +2572,7 @@ int tcp_disconnect(struct sock *sk, int flags)
        sk->sk_shutdown = 0;
        sock_reset_flag(sk, SOCK_DONE);
        tp->srtt_us = 0;
+       tp->mdev_us = jiffies_to_usecs(TCP_TIMEOUT_INIT);
        tp->rcv_rtt_last_tsecr = 0;
        tp->write_seq += tp->max_window + 2;
        if (tp->write_seq == 0)
index 977ad1c0cccad564fa111556ad0a0f3af4534381..35906b44e2cfa767f760773d0321a992114fee5b 100644 (file)
@@ -479,7 +479,6 @@ struct sock *tcp_create_openreq_child(const struct sock *sk,
 
        tcp_init_wl(newtp, treq->rcv_isn);
 
-       newtp->mdev_us = jiffies_to_usecs(TCP_TIMEOUT_INIT);
        minmax_reset(&newtp->rtt_min, tcp_jiffies32, ~0U);
        newicsk->icsk_ack.lrcvtime = tcp_jiffies32;