All of lore.kernel.org
 help / color / mirror / Atom feed
From: Timo Teras <timo.teras@iki.fi>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Ben Hutchings <bhutchings@solarflare.com>,
	netdev@vger.kernel.org, Francois Romieu <romieu@fr.zoreil.com>
Subject: Re: linux-3.0.18+r8169+ipv4/tcp forwarding = tso/gso weirdness and performance degration
Date: Wed, 14 Mar 2012 22:33:43 +0200	[thread overview]
Message-ID: <20120314223343.23dc9df3@vostro> (raw)
In-Reply-To: <1331755965.6022.55.camel@edumazet-glaptop>

On Wed, 14 Mar 2012 13:12:45 -0700 Eric Dumazet
<eric.dumazet@gmail.com> wrote:

> On Wed, 2012-03-14 at 21:51 +0200, Timo Teras wrote:
> 
> > Very good point. I thought gso also enabled gro, but seems that my
> > ethtool was old.
> > 
> > And GRO was enabled along with some other stuff. Turning GRO off
> > made my tcp performance immediately a lot better; jumped from 2MB/s
> > to 8MB/s or so (not ideal yet, though; but the remainder of the
> > difference could be related to other issue).
> > 
> > So something is definitely broke in 3.0.x with GRO enabled, but GSO
> > off.
> 
> "ifconfig eth2 ; netstat -s" can really help, I suspect tcp stack
> drops

After doing several wget's that have "bad performance".

# ifconfig eth2
eth2      Link encap:Ethernet  HWaddr 00:30:18:AB:6B:56  
          inet addr:10.26.0.2  Bcast:0.0.0.0  Mask:255.255.255.252
          inet6 addr: fe80::230:18ff:feab:6b56/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:32334060 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18520452 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1775070027 (1.6 GiB)  TX bytes:1962364861 (1.8 GiB)
          Interrupt:16 Base address:0xc000 

# ethtool -S eth2
NIC statistics:
     tx_packets: 2069391193
     rx_packets: 3245815642
     tx_errors: 0
     rx_errors: 645238
     rx_missed: 31414
     align_errors: 0
     tx_single_collisions: 0
     tx_multi_collisions: 0
     unicast: 3245815640
     broadcast: 2
     multicast: 0
     tx_aborted: 0
     tx_underrun: 0

netstat is busybox, so no -s. But /proc/net/netstat as parsed looks
like:
SyncookiesSent 0 
SyncookiesRecv 0 
SyncookiesFailed 3 
EmbryonicRsts 0 
PruneCalled 0 
RcvPruned 0 
OfoPruned 0 
OutOfWindowIcmps 0 
LockDroppedIcmps 0 
ArpFilter 0 
TW 15 
TWRecycled 0 
TWKilled 0 
PAWSPassive 0 
PAWSActive 0 
PAWSEstab 0 
DelayedACKs 564 
DelayedACKLocked 5 
DelayedACKLost 0 
ListenOverflows 0 
ListenDrops 0 
TCPPrequeued 73 
TCPDirectCopyFromBacklog 605264 
TCPDirectCopyFromPrequeue 15961 
TCPPrequeueDropped 0 
TCPHPHits 191774 
TCPHPHitsToUser 425 
TCPPureAcks 19228 
TCPHPAcks 112359 
TCPRenoRecovery 0 
TCPSackRecovery 2 
TCPSACKReneging 0 
TCPFACKReorder 0 
TCPSACKReorder 4 
TCPRenoReorder 0 
TCPTSReorder 2 
TCPFullUndo 2 
TCPPartialUndo 107 
TCPDSACKUndo 0 
TCPLossUndo 0 
TCPLoss 0 
TCPLostRetransmit 0 
TCPRenoFailures 0 
TCPSackFailures 0 
TCPLossFailures 0 
TCPFastRetrans 2 
TCPForwardRetrans 2 
TCPSlowStartRetrans 0 
TCPTimeouts 0 
TCPRenoRecoveryFail 0 
TCPSackRecoveryFail 0 
TCPSchedulerFailed 0 
TCPRcvCollapsed 0 
TCPDSACKOldSent 0 
TCPDSACKOfoSent 0 
TCPDSACKRecv 4 
TCPDSACKOfoRecv 0 
TCPAbortOnSyn 0 
TCPAbortOnData 6 
TCPAbortOnClose 4 
TCPAbortOnMemory 0 
TCPAbortOnTimeout 0 
TCPAbortOnLinger 0 
TCPAbortFailed 0 
TCPMemoryPressures 0 
TCPSACKDiscard 0 
TCPDSACKIgnoredOld 0 
TCPDSACKIgnoredNoUndo 0 
TCPSpuriousRTOs 0 
TCPMD5NotFound 0 
TCPMD5Unexpected 0 
TCPSackShifted 0 
TCPSackMerged 0 
TCPSackShiftFallback 4484 
TCPBacklogDrop 0 
TCPMinTTLDrop 0 
TCPDeferAcceptDrop 0 
IPReversePathFilter 4 
TCPTimeWaitOverflow 0 

  reply	other threads:[~2012-03-14 20:34 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-14 17:01 linux-3.0.18+r8169+ipv4/tcp forwarding = tso/gso weirdness and performance degration Timo Teras
2012-03-14 17:15 ` Eric Dumazet
2012-03-14 17:29   ` Timo Teras
2012-03-14 18:25     ` Eric Dumazet
2012-03-14 19:29     ` Ben Hutchings
2012-03-14 19:51       ` Timo Teras
2012-03-14 20:12         ` Eric Dumazet
2012-03-14 20:33           ` Timo Teras [this message]
2012-03-14 20:52             ` Eric Dumazet
2012-03-14 20:53             ` Francois Romieu
2012-03-15  6:06               ` Timo Teras
2012-03-15 15:11                 ` Timo Teras
2012-03-15 16:11                   ` Eric Dumazet
2012-03-15 18:47                     ` Timo Teras
2012-03-15 19:11                   ` Francois Romieu
2012-03-16 20:15                     ` Timo Teras
2012-03-17  9:56                       ` Timo Teras
2012-03-17 11:35                         ` Francois Romieu
2012-03-17 22:20                           ` Francois Romieu
2012-03-18  7:00                             ` Timo Teras
2012-03-20 15:31                             ` Timo Teras
2012-03-20 18:20                               ` Francois Romieu
2012-03-14 21:16 ` Francois Romieu

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=20120314223343.23dc9df3@vostro \
    --to=timo.teras@iki.fi \
    --cc=bhutchings@solarflare.com \
    --cc=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=romieu@fr.zoreil.com \
    /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.