All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: Koichiro Den <den@klaipeden.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net
Subject: Re: [net-next] tcp: do tcp_mstamp_refresh before retransmits on TSQ handler
Date: Sat, 21 Oct 2017 20:52:14 -0700	[thread overview]
Message-ID: <1508644334.30291.38.camel@edumazet-glaptop3.roam.corp.google.com> (raw)
In-Reply-To: <20171022033808.12641-1-den@klaipeden.com>

On Sun, 2017-10-22 at 12:38 +0900, Koichiro Den wrote:
> 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.
> 
> Signed-off-by: Koichiro Den <den@klaipeden.com>
> ---
>  net/ipv4/tcp_output.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

Very nice catch, thanks a lot Koichiro.

This IMO would target net tree, since it is a bug fix.

Fixes: 385e20706fac ("tcp: use tp->tcp_mstamp in output path")

Thanks !

We should have caught that in our regression packetdrill tests...

  reply	other threads:[~2017-10-22  3:52 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-22  3:38 [net-next] tcp: do tcp_mstamp_refresh before retransmits on TSQ handler Koichiro Den
2017-10-22  3:52 ` Eric Dumazet [this message]
2017-10-22  3:52   ` Eric Dumazet
2017-10-22  4:10   ` Koichiro Den
2017-10-22  5:21     ` Eric Dumazet
2017-10-22 12:59       ` Koichiro Den
2017-10-22 16:49         ` Eric Dumazet
2017-10-22 17:11           ` Eric Dumazet
2017-10-23  3:26             ` Koichiro Den
2017-10-23  3:40               ` Eric Dumazet
2017-10-23  4:28                 ` Koichiro Den
2017-10-23  4:31                   ` Eric Dumazet
2017-10-23  4:36                     ` Koichiro Den

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1508644334.30291.38.camel@edumazet-glaptop3.roam.corp.google.com \
    --to=eric.dumazet@gmail.com \
    --cc=davem@davemloft.net \
    --cc=den@klaipeden.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.