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

Eric Dumazet
2012-02-15T04:43:18Z

Le mardi 14 février 2012 à 18:43 +0200, alekcejk@googlemail.com a
écrit :
> В сообщении от Вторник 14 февраля 2012 17:00:10 вы написали:
> > Le mardi 14 février 2012 à 16:28 +0200, alekcejk@googlemail.com a
> >
> > écrit :
> > > Yes, results are the same for 3.2.3 kernel with and without running
> > > this command and for geographically close to me server (speed not limited)
> > > and for server not close to me speed limitation the same.
> >
> > I wonder if "netstat -s" is telling the truth ...
> >
> > Could you post after a transfert on 3.2, "grep TcpExt /proc/net/netstat"
>
> Kernel 3.2.6 (2.6.42.6-3.fc15.i686):
>
> Before downloading:
> TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned OutOfWindowIcmps LockDroppedIcmps ArpFilter TW TWRecycled TWKilled PAWSPassive
> PAWSActive PAWSEstab DelayedACKs DelayedACKLocked DelayedACKLost ListenOverflows ListenDrops TCPPrequeued TCPDirectCopyFromBacklog TCPDirectCopyFromPrequeue TCPPrequeueDropped
> TCPHPHits TCPHPHitsToUser TCPPureAcks TCPHPAcks TCPRenoRecovery TCPSackRecovery TCPSACKReneging TCPFACKReorder TCPSACKReorder TCPRenoReorder TCPTSReorder TCPFullUndo
> TCPPartialUndo TCPDSACKUndo TCPLossUndo TCPLoss TCPLostRetransmit TCPRenoFailures TCPSackFailures TCPLossFailures TCPFastRetrans TCPForwardRetrans TCPSlowStartRetrans TCPTimeouts
> TCPRenoRecoveryFail TCPSackRecoveryFail TCPSchedulerFailed TCPRcvCollapsed TCPDSACKOldSent TCPDSACKOfoSent TCPDSACKRecv TCPDSACKOfoRecv TCPAbortOnSyn TCPAbortOnData
> TCPAbortOnClose TCPAbortOnMemory TCPAbortOnTimeout TCPAbortOnLinger TCPAbortFailed TCPMemoryPressures TCPSACKDiscard TCPDSACKIgnoredOld TCPDSACKIgnoredNoUndo
> TCPSpuriousRTOs TCPMD5NotFound TCPMD5Unexpected TCPSackShifted TCPSackMerged TCPSackShiftFallback TCPBacklogDrop TCPMinTTLDrop TCPDeferAcceptDrop IPReversePathFilter
> TCPTimeWaitOverflow TCPReqQFullDoCookies TCPReqQFullDrop
> TcpExt: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47 0 0 0
>
> After downloading FreeBSD-8.2-RELEASE-i386-dvd1.iso.xz with speed 5,8 Megabytes/s
> TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned OutOfWindowIcmps LockDroppedIcmps ArpFilter TW TWRecycled TWKilled PAWSPassive
> PAWSActive PAWSEstab DelayedACKs DelayedACKLocked DelayedACKLost ListenOverflows ListenDrops TCPPrequeued TCPDirectCopyFromBacklog TCPDirectCopyFromPrequeue TCPPrequeueDropped
> TCPHPHits TCPHPHitsToUser TCPPureAcks TCPHPAcks TCPRenoRecovery TCPSackRecovery TCPSACKReneging TCPFACKReorder TCPSACKReorder TCPRenoReorder TCPTSReorder TCPFullUndo
> TCPPartialUndo TCPDSACKUndo TCPLossUndo TCPLoss TCPLostRetransmit TCPRenoFailures TCPSackFailures TCPLossFailures TCPFastRetrans TCPForwardRetrans TCPSlowStartRetrans TCPTimeouts
> TCPRenoRecoveryFail TCPSackRecoveryFail TCPSchedulerFailed TCPRcvCollapsed TCPDSACKOldSent TCPDSACKOfoSent TCPDSACKRecv TCPDSACKOfoRecv TCPAbortOnSyn TCPAbortOnData
> TCPAbortOnClose TCPAbortOnMemory TCPAbortOnTimeout TCPAbortOnLinger TCPAbortFailed TCPMemoryPressures TCPSACKDiscard TCPDSACKIgnoredOld TCPDSACKIgnoredNoUndo
> TCPSpuriousRTOs TCPMD5NotFound TCPMD5Unexpected TCPSackShifted TCPSackMerged TCPSackShiftFallback TCPBacklogDrop TCPMinTTLDrop TCPDeferAcceptDrop IPReversePathFilter
> TCPTimeWaitOverflow TCPReqQFullDoCookies TCPReqQFullDrop
> TcpExt: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 2896 0 0 1426425 2 1 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47 0 0 0
>
>

OK thanks, nothing seems wrong on receiver side.

Could you try to force ECN enabled flows and send tcpdump, to check if
we receive retransmits ?

echo 1 >/proc/sys/net/ipv4/tcp_ecn

And check tcp can engage ECN : tcpdump SYN/SYNACK should look like:

05:41:17.943538 IP 192.168.1.97.45986 > 68.232.35.119.80: Flags [SEW],
seq 2109565072, win 14600, options [mss 1460,sackOK,TS val 8295492 ecr
0,nop,wscale 6], length 0

05:41:17.980619 IP 68.232.35.119.80 > 192.168.1.97.45986: Flags [S.E],
seq 2519424885, ack 2109565073, win 14600, options [mss
1452,nop,nop,sackOK,nop,wscale 6], length 0

...