[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <4B17BEFF.2030309@nets.rwth-aachen.de>
Date: Thu, 03 Dec 2009 14:37:03 +0100
From: Arnd Hannemann <hannemann@...s.rwth-aachen.de>
To: Frederic Leroy <fredo@...rox.org>
Cc: Ilpo Järvinen <ilpo.jarvinen@...sinki.fi>,
Damian Lukowski <damian@....rwth-aachen.de>,
Netdev <netdev@...r.kernel.org>, Asdo <asdo@...ftmail.org>,
David Miller <davem@...emloft.net>,
Eric Dumazet <eric.dumazet@...il.com>,
Herbert Xu <herbert@...dor.apana.org.au>,
Greg KH <gregkh@...e.de>
Subject: Re: scp stalls mysteriously
Frederic Leroy wrote:
> Le Thu, 3 Dec 2009 12:29:39 +0200 (EET),
> "Ilpo Järvinen" <ilpo.jarvinen@...sinki.fi> a écrit :
>
>> 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
>
> Sorry I'm confused and so confuse you.
> For .9 .10 and now I'm only using :
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
>
>> 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.
>
> I didn't keep the source of the old 2.6.31 kernel I have.
> So it's either
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
> or
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6-stable.git
>
>> 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.
>
> Here is the code :
> http://www.starox.org/pub/scp_stall/printk_retrans_stamp.patch
>
>> ...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
>
> I will try this evening. I can do test only outside office hours.
If you don't mind, could you also post the output of
"sysctl -a | grep net.ipv4.tcp", please.
The tars you posted (proc_net_tcp.tbz2) seem to be empty.
Thanks.
Best regards,
Arnd
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists