tcp_output.c (0cbe6a8f089e5912a577537c97833546d558c357) tcp_output.c (b6b6d6533a14b5ddcf9f9c5239fc3721fc6beda0)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * INET An implementation of the TCP/IP protocol suite for the LINUX
4 * operating system. INET is implemented using the BSD Socket
5 * interface as the means of communication with the user level.
6 *
7 * Implementation of the Transmission Control Protocol(TCP).
8 *

--- 3897 unchanged lines hidden (view full) ---

3906
3907 ato = min_t(u32, ato, inet_csk(sk)->icsk_delack_max);
3908
3909 /* Stay within the limit we were given */
3910 timeout = jiffies + ato;
3911
3912 /* Use new timeout only if there wasn't a older one earlier. */
3913 if (icsk->icsk_ack.pending & ICSK_ACK_TIMER) {
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * INET An implementation of the TCP/IP protocol suite for the LINUX
4 * operating system. INET is implemented using the BSD Socket
5 * interface as the means of communication with the user level.
6 *
7 * Implementation of the Transmission Control Protocol(TCP).
8 *

--- 3897 unchanged lines hidden (view full) ---

3906
3907 ato = min_t(u32, ato, inet_csk(sk)->icsk_delack_max);
3908
3909 /* Stay within the limit we were given */
3910 timeout = jiffies + ato;
3911
3912 /* Use new timeout only if there wasn't a older one earlier. */
3913 if (icsk->icsk_ack.pending & ICSK_ACK_TIMER) {
3914 /* If delack timer was blocked or is about to expire,
3915 * send ACK now.
3916 */
3917 if (icsk->icsk_ack.blocked ||
3918 time_before_eq(icsk->icsk_ack.timeout, jiffies + (ato >> 2))) {
3914 /* If delack timer is about to expire, send ACK now. */
3915 if (time_before_eq(icsk->icsk_ack.timeout, jiffies + (ato >> 2))) {
3919 tcp_send_ack(sk);
3920 return;
3921 }
3922
3923 if (!time_before(timeout, icsk->icsk_ack.timeout))
3924 timeout = icsk->icsk_ack.timeout;
3925 }
3926 icsk->icsk_ack.pending |= ICSK_ACK_SCHED | ICSK_ACK_TIMER;

--- 187 unchanged lines hidden ---
3916 tcp_send_ack(sk);
3917 return;
3918 }
3919
3920 if (!time_before(timeout, icsk->icsk_ack.timeout))
3921 timeout = icsk->icsk_ack.timeout;
3922 }
3923 icsk->icsk_ack.pending |= ICSK_ACK_SCHED | ICSK_ACK_TIMER;

--- 187 unchanged lines hidden ---