From: Eric Dumazet <eric.dumazet@gmail.com>
To: Damian Lukowski <damian@tvk.rwth-aachen.de>
Cc: Netdev <netdev@vger.kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi>,
"Frederic Leroy" <fredo@starox.org>,
"David Miller" <davem@davemloft.net>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"Greg KH" <gregkh@suse.de>
Subject: Re: [PATCH] tcp: Fix for stalling connections
Date: Mon, 07 Dec 2009 07:15:48 +0100 [thread overview]
Message-ID: <4B1C9D94.3070504@gmail.com> (raw)
In-Reply-To: <4B1C4C25.1070104@tvk.rwth-aachen.de>
Damian Lukowski a écrit :
> This patch fixes a problem in the TCP connection timeout calculation.
> Currently, timeout decisions are made on the basis of the current
> tcp_time_stamp and retrans_stamp, which is usually set at the first
> retransmission.
> However, if the retransmission fails in tcp_retransmit_skb(),
> retrans_stamp is not updated and remains zero. This leads to wrong
> decisions in retransmits_timed_out() if tcp_time_stamp is larger than
> the specified timeout, which is very likely.
> In this case, the TCP connection dies after the first attempted
> (and unsuccessful) retransmission.
>
> With this patch, tcp_skb_cb->when is used instead, when retrans_stamp
> is not available.
>
> Thanks to Ilpo Järvinen for code suggestions.
>
> Signed-off-by: Damian Lukowski <damian@tvk.rwth-aachen.de>
Hmm, how old is this bug ?
You should a hint of faulty commit so that stable team can apply
this patch to 2.6.32 & 2.6.31
git describe 6fa12c85031485dff38ce550c24f10da23b0adaa
v2.6.31-rc5-1853-g6fa12c8
Or maybe David handles this for us, I dont know...
Minor note : retransmits_timed_out() is used in from net/ipv4/tcp_timer.c
I wonder why its a "static inline" in include/net/tcp.h
Thanks
next prev parent reply other threads:[~2009-12-07 6:15 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-07 0:28 [PATCH] tcp: Fix for stalling connections Damian Lukowski
2009-12-07 0:32 ` Damian Lukowski
2009-12-07 6:15 ` Eric Dumazet [this message]
2009-12-07 11:17 ` Damian Lukowski
2009-12-07 11:22 ` David Miller
2009-12-07 11:41 ` [PATCHv2 0/2] tcp: Stalling connections Damian Lukowski
2009-12-07 11:41 ` [PATCHv2 1/2] tcp: Stalling connections: Move timeout calculation routine Damian Lukowski
2009-12-07 12:01 ` Frederic Leroy
2009-12-07 16:11 ` Damian Lukowski
2009-12-07 11:41 ` [PATCHv2 2/2] tcp: Stalling connections: Fix " Damian Lukowski
2009-12-07 12:08 ` Ilpo Järvinen
2009-12-07 12:27 ` Damian Lukowski
2009-12-07 12:32 ` Ilpo Järvinen
2009-12-07 16:06 ` [PATCHv3 0/2] tcp: Stalling connections Damian Lukowski
2009-12-07 16:06 ` [PATCHv3 1/2] tcp: Stalling connections: Fix timeout calculation routine Damian Lukowski
2009-12-07 18:50 ` Ilpo Järvinen
2009-12-07 19:09 ` Frederic Leroy
2009-12-10 13:24 ` TCP not retransmitting Ilpo Järvinen
2009-12-11 12:57 ` Frederic Leroy
2009-12-09 4:53 ` [PATCHv3 1/2] tcp: Stalling connections: Fix timeout calculation routine David Miller
2009-12-07 16:06 ` [PATCHv3 2/2] tcp: Stalling connections: Move " Damian Lukowski
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=4B1C9D94.3070504@gmail.com \
--to=eric.dumazet@gmail.com \
--cc=damian@tvk.rwth-aachen.de \
--cc=davem@davemloft.net \
--cc=fredo@starox.org \
--cc=gregkh@suse.de \
--cc=herbert@gondor.apana.org.au \
--cc=ilpo.jarvinen@helsinki.fi \
--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.