TCP performance drop 2.6.6->2.6.7
Subsystems (2)
Hello,
I'm trying to port my H-TCP and SACK improvements to 2.6.11, but I seem to hit performance problems that are unrelated to what I worked on so far.
My tests show that between 2.6.6 and 2.6.7 the TCP performance dropped considerably.
The setup for the tests, vanilla kernels, dummynet with 100 Mbit/s and 40ms rtt using the BIC protocol. No patches applied whatsoever.
iperf tests for 2.6.6 get about 90Mbit/s while 2.6.7 gets 30Mbit/s.
I was wondering if someone can think of a reason why this happens?
Is there a way to get the different network related patches between these two versions? I don't have access to bk to get it myself.
Baruch
David S. Miller
maintainerQuoted 1 line · On Tue, 12 Apr 2005 23:18:35 +0100 Baruch Even <[email protected]> wrote:
I was wondering if someone can think of a reason why this happens?
Probably some bug we fixed in 2.6.8 or later...
Quoted 2 lines
Is there a way to get the different network related patches between these two versions? I don't have access to bk to get it myself.
Get patch-2.6.7.bz2 or whatever from kernel.org, then scan around for changes to include/*/tcp.h and net/ipv4/tcp*.c
Quoted 7 lines · On Tue, 12 Apr 2005 23:18:35 +0100 Baruch Even <[email protected]> wrote:
Hello,
I'm trying to port my H-TCP and SACK improvements to 2.6.11, but I seem to hit performance problems that are unrelated to what I worked on so far.
My tests show that between 2.6.6 and 2.6.7 the TCP performance dropped considerably.
Remember 2.6.6 had the old hyper aggressive and over correcting version of BIC.
Quoted 4 lines
The setup for the tests, vanilla kernels, dummynet with 100 Mbit/s and 40ms rtt using the BIC protocol. No patches applied whatsoever.
iperf tests for 2.6.6 get about 90Mbit/s while 2.6.7 gets 30Mbit/s.
Haven't measured old kernels recently. But haven't seen that with the newest stuff I tested last night. At 40ms delay with netem over 1G to 100M bridge.
Reno 99.6 Vegas 61.6 BIC 97.8 Hstcp 99.4 Westwood 99.4
What are your sysctl settings.
Quoted 6 lines
I was wondering if someone can think of a reason why this happens?
Is there a way to get the different network related patches between these two versions? I don't have access to bk to get it myself.
Baruch
Quoted 7 lines · Stephen Hemminger
Quoted 3 lines · On Tue, 12 Apr 2005 23:18:35 +0100 Baruch Even <[email protected]> wrote:
The setup for the tests, vanilla kernels, dummynet with 100 Mbit/s and 40ms rtt using the BIC protocol. No patches applied whatsoever.
iperf tests for 2.6.6 get about 90Mbit/s while 2.6.7 gets 30Mbit/s.
Quoted 8 lines
Haven't measured old kernels recently. But haven't seen that with the newest stuff I tested last night. At 40ms delay with netem over 1G to 100M bridge.
Reno 99.6 Vegas 61.6 BIC 97.8 Hstcp 99.4 Westwood 99.4
I've now tested 2.6.11.7 and I get about 50Mbit/s, it starts at about 100 and drops to about 45. Tested for about a minute but it didn't show signs of recovery.
Quoted 1 line
What are your sysctl settings.
Attached.
Baruch
icmp_echo_ignore_all 0icmp_echo_ignore_broadcasts 0icmp_ignore_bogus_error_responses 0icmp_ratelimit 1000icmp_ratemask 6168igmp_max_memberships 20igmp_max_msf 10inet_peer_gc_maxtime 120inet_peer_gc_mintime 10inet_peer_maxttl 600inet_peer_minttl 120inet_peer_threshold 65664ip_autoconfig 0ip_default_ttl 64ip_dynaddr 0ip_forward 0ip_local_port_range 32768 61000ip_no_pmtu_disc 0ip_nonlocal_bind 0ipfrag_high_thresh 262144ipfrag_low_thresh 196608ipfrag_secret_interval 600ipfrag_time 30tcp_abort_on_overflow 0tcp_adv_win_scale 2tcp_app_win 31tcp_bic 1tcp_bic_beta 819tcp_bic_fast_convergence 1tcp_bic_low_window 14tcp_dsack 1tcp_ecn 0tcp_fack 1tcp_fin_timeout 60tcp_frto 0tcp_keepalive_intvl 75tcp_keepalive_probes 9tcp_keepalive_time 7200tcp_low_latency 0tcp_max_orphans 8192tcp_max_syn_backlog 1024tcp_max_tw_buckets 180000tcp_mem 8388608 8388608 8388608tcp_moderate_rcvbuf 1tcp_no_metrics_save 0tcp_orphan_retries 0tcp_reordering 3tcp_retrans_collapse 1tcp_retries1 3tcp_retries2 15tcp_rfc1337 0tcp_rmem 4096 87380 8388608tcp_sack 1tcp_stdurg 0tcp_syn_retries 5tcp_synack_retries 5tcp_timestamps 1tcp_tso_win_divisor 8tcp_tw_recycle 0tcp_tw_reuse 0tcp_vegas_alpha 2tcp_vegas_beta 6tcp_vegas_cong_avoid 0tcp_vegas_gamma 2tcp_westwood 0tcp_window_scaling 1tcp_wmem 4096 87380 8388608
Quoted 5 lines · On Wed, 13 Apr 2005 00:59:25 +0100 Baruch Even <[email protected]> wrote:
Quoted 4 lines · Stephen Hemminger
Quoted 2 lines · On Tue, 12 Apr 2005 23:18:35 +0100 Baruch Even <[email protected]> wrote:
The setup for the tests, vanilla kernels, dummynet with 100 Mbit/s and 40ms rtt using the BIC protocol. No patches applied whatsoever.
What is the queue length? Better yet what is the exact commandline used to setup dummynet.
Quoted 22 lines
Quoted 4 lines
Quoted 2 lines
iperf tests for 2.6.6 get about 90Mbit/s while 2.6.7 gets 30Mbit/s.
Quoted 8 lines
Haven't measured old kernels recently. But haven't seen that with the newest stuff I tested last night. At 40ms delay with netem over 1G to 100M bridge.
Reno 99.6 Vegas 61.6 BIC 97.8 Hstcp 99.4 Westwood 99.4I've now tested 2.6.11.7 and I get about 50Mbit/s, it starts at about 100 and drops to about 45. Tested for about a minute but it didn't show signs of recovery.
Quoted 1 line
What are your sysctl settings.
Attached.
Baruch
I have no clue *why* it happens, but a hint on when it happens. If I remove the ixgb driver from my .config, performance is back to normal. Note though that I don't even use the ixgb driver for my tests, it's just sitting idle on the machine and connected to nothing (the cisco router is turned off to reduce noise polution).
To continue my work I'll disable the ixgb for now.
Baruch
Quoted 16 lines · Baruch Even
Hello,
I'm trying to port my H-TCP and SACK improvements to 2.6.11, but I seem to hit performance problems that are unrelated to what I worked on so far.
My tests show that between 2.6.6 and 2.6.7 the TCP performance dropped considerably.
The setup for the tests, vanilla kernels, dummynet with 100 Mbit/s and 40ms rtt using the BIC protocol. No patches applied whatsoever.
iperf tests for 2.6.6 get about 90Mbit/s while 2.6.7 gets 30Mbit/s.
I was wondering if someone can think of a reason why this happens?
Is there a way to get the different network related patches between these two versions? I don't have access to bk to get it myself.
Baruch
Quoted 1 line · Baruch Even
I have no clue *why* it happens, but a hint on when it happens. If I remove the ixgb driver from my .config, performance is back to normal. Note though that I don't even use the ixgb driver for my tests, it's just sitting idle on the machine and connected to nothing (the cisco router is turned off to reduce noise polution).
Check your interrupts - it's probably sending out a large number of interrupts which are clogging the system..
thanks,
Nivedita