From: Damian Lukowski <damian@tvk.rwth-aachen.de>
To: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi>
Cc: Frederic Leroy <fredo@starox.org>,
Netdev <netdev@vger.kernel.org>, Asdo <asdo@shiftmail.org>,
David Miller <davem@davemloft.net>,
Eric Dumazet <eric.dumazet@gmail.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
Greg KH <gregkh@suse.de>
Subject: Re: scp stalls mysteriously
Date: Thu, 03 Dec 2009 13:19:54 +0100 [thread overview]
Message-ID: <4B17ACEA.9060804@tvk.rwth-aachen.de> (raw)
In-Reply-To: <4B17A791.80808@tvk.rwth-aachen.de>
Damian Lukowski schrieb:
> Ilpo Järvinen schrieb:
>> I've added Greg as CC to make him aware of this issue in early as it now
>> affects 2.6.32 too (rather important to get dealt quickly in stable once
>> we have a tested solution since TCP is pretty broken with the silent
>> deaths this problem seems to cause). ...One possibility would be to just
>> queue the tested revert to stable and sort this thing out for 2.6.33 in
>> net-2.6.
>>
>> Opinions, Dave?, Greg?
>>
>> Now back to the issue...
>>
>> You said in the other mail that "All further test are on linus-stable
>> tree.", which has this contradiction that Linus does not maintain stable
>> trees. Which exactly was the tree used for the .9. test, Linus' tree or
>> the 2.6.31 stable tree? I suppose the former since the revert wouldn't
>> apply to 2.6.31 so I just want to confirm.
>>
>>
>> On Thu, 3 Dec 2009, Frederic Leroy wrote:
>>> On Wed, Dec 02, 2009 at 08:17:44PM +0100, Damian Lukowski wrote:
>>>> could you please printk retrans_stamp just before the return in
>>>> include/net/tcp.h:retransmits_timed_out()?
>>>> If the value is not monotonically increasing but is reset to 0 at some
>>>> point, this might lead to problems in tcp_write_timeout().
>>>> It's the only idea I have now.
>>> Your idea is good.
>>> Only one out of 4 value is not null.
>>>
>>> Logs corresponding on http://wwW.starox.org/pub/scp_stall is .10
>>>
>>> I make 2 attempts. Printk corresponding to .10 are those after the line
>>> "wlan1 enter promiscuous mode"
>> Nice thinking indeed Damian, thanks. ...But but, where exactly did you
>> print? ...There are multiple returns and the return false branch is
>> expected to have a zero retrans_stamp in a typical case but that is not
>> a problem because we never use the value.
>
> Yes, it's the retrans_stamp in the subtraction I suspected to be 0.
> I also suspect this to happen only in the ca_state < CA_Loss case,
> so one first solution might be to return true whenever retrans_stamp == 0.
return false, of course.
> Unluckily, I still cannot reproduce the scp stalls here, so it would be nice
> if Frederic printed retrans_stamp together with icsk_ca_state and
> icsk_retransmits, please.
>
> Damian
>
>> ...Anyway, if I'm wrong with my suspicion and it still holds that we have
>> zero retrans_stamp in the substraction too, it could have something to do
>> with this snippet:
>>
>> static void tcp_try_to_open(struct sock *sk, int flag)
>> {
>> struct tcp_sock *tp = tcp_sk(sk);
>>
>> tcp_verify_left_out(tp);
>>
>> if (!tp->frto_counter && tp->retrans_out == 0)
>> tp->retrans_stamp = 0;
>>
>> ...It bit me last time when FRTO was enabled after very small modification
>> (without running a full verification after the trivial looking
>> modification). ...So I've worked around this clearing for FRTO as you
>> can see :-).
>>
>>
>> Also, we have the another mystery to be solved, the fast retransmission is
>> not triggered for some reason (or alternatively not captured in to a
>> log), even in the working .9. case. It would be easy to see whether it
>> works at all from TCP point of view by looking into mibs once you have
>> have some transfers in a working configuration:
>>
>> grep -A1 TCP /proc/net/netstat
>>
>> ...luckily this fast retransmit issue is less crucial as almost all people
>> are pretty happy already if their RTO-based recovery works even if the
>> fast recovery would not. So figuring it out can be postponed (if one has
>> to prioritize) until the silent death issue is out of the way.
>>
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2009-12-03 12:49 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-27 21:35 scp stalls mysteriously Frederic Leroy
2009-11-27 22:12 ` Ilpo Järvinen
[not found] ` <20091128010156.1219012a@houba>
2009-11-28 11:31 ` Ilpo Järvinen
2009-11-29 22:13 ` Ilpo Järvinen
2009-11-30 18:50 ` Frederic Leroy
2009-11-30 19:10 ` Ilpo Järvinen
2009-11-30 20:18 ` Ilpo Järvinen
2009-11-30 20:37 ` Frederic Leroy
2009-11-30 21:37 ` Ilpo Järvinen
2009-11-30 22:19 ` Frederic Leroy
2009-12-01 20:19 ` Frederic Leroy
2009-12-01 20:27 ` Ilpo Järvinen
2009-12-02 7:59 ` Frederic Leroy
2009-12-02 12:59 ` Ilpo Järvinen
2009-12-02 15:44 ` Frederic Leroy
2009-12-02 16:05 ` Ilpo Järvinen
2009-12-02 17:34 ` Frederic Leroy
2009-12-02 19:17 ` Damian Lukowski
2009-12-03 8:59 ` Frederic Leroy
2009-12-03 10:29 ` Ilpo Järvinen
2009-12-03 10:34 ` David Miller
2009-12-03 10:48 ` Ilpo Järvinen
2009-12-03 12:19 ` Asdo
2009-12-03 11:57 ` Damian Lukowski
2009-12-03 12:19 ` Damian Lukowski [this message]
2009-12-03 12:49 ` Ilpo Järvinen
2009-12-03 14:10 ` Damian Lukowski
2009-12-03 19:23 ` Frederic Leroy
2009-12-03 20:34 ` Damian Lukowski
2009-12-03 22:03 ` Frederic Leroy
2009-12-04 10:41 ` Ilpo Järvinen
2009-12-04 9:36 ` Frederic Leroy
2009-12-04 11:14 ` Ilpo Järvinen
2009-12-04 13:58 ` Frederic Leroy
2009-12-04 15:09 ` Ilpo Järvinen
2009-12-03 20:36 ` Ilpo Järvinen
2009-12-03 21:37 ` Frederic Leroy
2009-12-05 22:32 ` Damian Lukowski
2009-12-06 10:29 ` Ilpo Järvinen
2009-12-06 17:48 ` Ilpo Järvinen
2009-12-06 22:44 ` Damian Lukowski
2009-12-06 23:09 ` Ilpo Järvinen
2009-12-06 20:32 ` Frederic Leroy
2009-12-07 14:01 ` Ilpo Järvinen
2009-12-07 22:18 ` Frederic Leroy
2009-12-07 22:38 ` Ilpo Järvinen
2009-12-09 4:54 ` David Miller
2009-12-03 12:11 ` Frederic Leroy
2009-12-03 12:44 ` Ilpo Järvinen
2009-12-03 13:37 ` Arnd Hannemann
2009-12-03 14:27 ` Arnd Hannemann
2009-12-03 14:36 ` Ilpo Järvinen
2009-12-03 15:34 ` Arnd Hannemann
2009-12-03 15:48 ` Ilpo Järvinen
2009-12-03 18:32 ` Greg KH
2009-12-03 21:37 ` David Miller
2009-12-03 8:56 ` Frederic Leroy
2009-11-30 21:24 ` Frederic Leroy
2009-11-30 21:26 ` Ilpo Järvinen
2009-11-30 21:54 ` Frederic Leroy
2009-11-27 22:22 ` Frederic Leroy
2009-11-27 22:28 ` Ilpo Järvinen
2009-11-27 22:30 ` Ilpo Järvinen
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=4B17ACEA.9060804@tvk.rwth-aachen.de \
--to=damian@tvk.rwth-aachen.de \
--cc=asdo@shiftmail.org \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).