[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20171023.054612.413368645235190542.davem@davemloft.net>
Date: Mon, 23 Oct 2017 05:46:12 +0100 (WEST)
From: David Miller <davem@...emloft.net>
To: den@...ipeden.com
Cc: netdev@...r.kernel.org, eric.dumazet@...il.com,
kuznet@....inr.ac.ru, yoshfuji@...ux-ipv6.org
Subject: Re: [net] tcp: do tcp_mstamp_refresh before retransmits on TSQ
handler
From: Koichiro Den <den@...ipeden.com>
Date: Sun, 22 Oct 2017 13:13:16 +0900
> When retransmission on TSQ handler was introduced in the commit
> f9616c35a0d7 ("tcp: implement TSQ for retransmits"), the retransmitted
> skbs' timestamps were updated on the actual transmission. In the later
> commit 385e20706fac ("tcp: use tp->tcp_mstamp in output path"), it stops
> being done so. In the commit, the comment says "We try to refresh
> tp->tcp_mstamp only when necessary", and at present tcp_tsq_handler and
> tcp_v4_mtu_reduced applies to this. About the latter, it's okay since
> it's rare enough.
>
> About the former, even though possible retransmissions on the tasklet
> comes just after the destructor run in NET_RX softirq handling, the time
> between them could be nonnegligibly large to the extent that
> tcp_rack_advance or rto rearming be affected if other (remaining) RX,
> BLOCK and (preceding) TASKLET sofirq handlings are unexpectedly heavy.
>
> So in the same way as tcp_write_timer_handler does, doing tcp_mstamp_refresh
> ensures the accuracy of algorithms relying on it.
>
> Fixes: 385e20706fac ("tcp: use tp->tcp_mstamp in output path")
> Signed-off-by: Koichiro Den <den@...ipeden.com>
> Reviewed-by: Eric Dumazet <edumazet@...gle.com>
Applied and queued up for -stable.
Powered by blists - more mailing lists