[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89i+HK5vny8qo89_+4PqZj9rBcGi6sVfSgN4HSpqqoUr6fw@mail.gmail.com>
Date: Tue, 30 May 2023 16:22:58 +0200
From: Eric Dumazet <edumazet@...gle.com>
To: fuyuanli <fuyuanli@...iglobal.com>
Cc: "David S. Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Neal Cardwell <ncardwell@...gle.com>, ycheng <ycheng@...gle.com>,
toke <toke@...e.dk>, netdev@...r.kernel.org,
Weiping Zhang <zhangweiping@...iglobal.com>, Tio Zhang <tiozhang@...iglobal.com>,
Jason Xing <kerneljasonxing@...il.com>
Subject: Re: [PATCH net v2] tcp: fix mishandling when the sack compression is deferred
On Tue, May 30, 2023 at 4:19 PM fuyuanli <fuyuanli@...iglobal.com> wrote:
>
> In this patch, we mainly do two things which could be separately
> found as the following links:
> 1) fix not sending a compressed ack if it's deferred.
> 2) use the ICSK_ACK_TIMER flag in tcp_sack_compress_send_ack() and
> tcp_event_ack_sent() in order we can cancel it if it's deferred.
>
> Here are more details in the old logic:
> When sack compression is triggered in the tcp_compressed_ack_kick(),
> if the sock is owned by user, it will set TCP_DELACK_TIMER_DEFERRED
> and then defer to the release cb phrase. Later once user releases
> the sock, tcp_delack_timer_handler() should send a ack as expected,
> which, however, cannot happen due to lack of ICSK_ACK_TIMER flag.
> Therefore, the receiver would not sent an ack until the sender's
> retransmission timeout. It definitely increases unnecessary latency.
>
> Fixes: 5d9f4262b7ea ("tcp: add SACK compression")
> Suggested-by: Eric Dumazet <edumazet@...gle.com>
> Signed-off-by: fuyuanli <fuyuanli@...iglobal.com>
> Signed-off-by: Jason Xing <kerneljasonxing@...il.com>
> Link: https://lore.kernel.org/netdev/20230529113804.GA20300@didi-ThinkCentre-M920t-N000/
> Link: https://lore.kernel.org/netdev/20230530023737.584-1-kerneljasonxing@gmail.com/
> ---
> v2:
> 1) change the commit title and message
> 2) reuse the delayed ack logic when handling the sack compression
> as suggested by Eric.
> 3) "merge" another related patch into this one. See the second link.
No.
This is not the patch I suggested.
Powered by blists - more mailing lists