Thread (45 messages) 45 messages, 6 authors, 2012-02-27

Re: Re: Re: Re: limited network bandwidth with 3.2.x kernels

From: Eric Dumazet <hidden>
Date: 2012-02-16 22:35:51

Possibly related (same subject, not in this thread)

Le vendredi 17 février 2012 à 00:08 +0200, alekcejk@googlemail.com a
écrit :
В сообщении от Четверг 16 февраля 2012 22:59:33 вы написали:
quoted
Le jeudi 16 février 2012 à 23:49 +0200, alekcejk@googlemail.com a

écrit :
quoted
В сообщении от Четверг 16 февраля 2012 13:19:58 вы написали:
quoted
On Thu, Feb 16, 2012 at 12:54 PM,  [off-list ref] wrote:
I still think it would be useful to have these three pieces of data
for a slow/3.2.x transfer (from a geographically distant server) if
you have a sec:

- tcpdump of first 300 or so packets to see SYN/SYNACK options and RTT


- summary of overall throughput wget sees on that transfer
--2012-02-16 23:33:30--  http://speedtest.tele2.net/1GB.zip
100%[===========================>] 1 073 741 824 5,02M/s   in 3m 29s
2012-02-16 23:36:59 (4,90 MB/s) - «/dev/null» saved [1073741824/1073741824]
quoted
This should help establish whether the receiver window is really the
limiting factor in the slow cases.
Is tweaking /proc/sys/net/ipv4/tcp_adv_win_scale changes the numbers ?
Yes.
 
quoted
try 1, -1 or -2
With 1 and -1 maximum speed increased to 6,99 M/s, with -2 decreased to 3,3 M/s.
Thats indeed the problem.

An incoming skb is considered as "good citizen" in term of memory usage
if its truesize is no more than
len + len/4   (if adv_win_scale == 2)

That was true when truesize was 1500+NET_SKB_PAD+sizeof(sk_buff),
but not true anymore when truesize is 2048+sizeof(sk_buff), or even more
when its 4096+sizeof(sk_buff)

So receiver doesnt increase rcv_ssthresh and cannot open its window.

tcp_grow_window() should be tweaked to :

1) Relax the requirements
2) Allow bigger increase in case of super packets (LRO/GRO)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help