From: Jean-Michel Hautbois <jhautbois@gmail.com>
To: netdev <netdev@vger.kernel.org>
Subject: Re: Difficulties to get 1Gbps on be2net ethernet card
Date: Wed, 30 May 2012 08:28:11 +0200 [thread overview]
Message-ID: <CAL8zT=jKhRjVCdYRCerMzimxPAhP5Gi+JBBfuKjG-rfg-LMoVw@mail.gmail.com> (raw)
In-Reply-To: <CAL8zT=hHAc5-wGMKgumV=K9jG6tDxzej9Dffe9UYQ24gdWQRtw@mail.gmail.com>
2012/5/29 Jean-Michel Hautbois <jhautbois@gmail.com>:
> Hi list,
>
> I am using a NC553i ethernet card connected on a HP 10GbE Flex-10.
> I am sending UDP multicast packets from one blade to another (HP
> ProLiant BL460c G7) which has stricly the same HW.
>
> I have lots of packet loss from Tx to Rx, and I can't understand why.
> I suspected TX coalescing but since 3.4 I can't set this parameter
> (and adaptive-tx is on by default).
> I have tried the same test with a debian lenny (2.6.26 kernel and HP
> drivers) and it works very well (adaptive-tx is off).
>
> Here is the netstat (from Tx point of view) :
>
> $> netstat -s eth1 > before ; sleep 10 ; netstat -s eth1 > after
> $> beforeafter before after
> Ip:
> 280769 total packets received
> 4 with invalid addresses
> 0 forwarded
> 0 incoming packets discarded
> 275063 incoming packets delivered
> 305430 requests sent out
> 0 dropped because of missing route
> Icmp:
> 0 ICMP messages received
> 0 input ICMP message failed.
> ICMP input histogram:
> destination unreachable: 0
> echo requests: 0
> 0 ICMP messages sent
> 0 ICMP messages failed
> ICMP output histogram:
> destination unreachable: 0
> echo replies: 0
> IcmpMsg:
> InType3: 0
> InType8: 0
> OutType0: 0
> OutType3: 0
> Tcp:
> 18 active connections openings
> 18 passive connection openings
> 0 failed connection attempts
> 0 connection resets received
> 0 connections established
> 3681 segments received
> 3650 segments send out
> 0 segments retransmited
> 0 bad segments received.
> 0 resets sent
> Udp:
> 12626 packets received
> 0 packets to unknown port received.
> 0 packet receive errors
> 259025 packets sent
> UdpLite:
> TcpExt:
> 0 invalid SYN cookies received
> 0 packets pruned from receive queue because of socket buffer overrun
> 14 TCP sockets finished time wait in fast timer
> 0 packets rejects in established connections because of timestamp
> 61 delayed acks sent
> 0 delayed acks further delayed because of locked socket
> Quick ack mode was activated 0 times
> 2924 packets directly queued to recvmsg prequeue.
> 32 bytes directly in process context from backlog
> 48684 bytes directly received in process context from prequeue
> 232 packet headers predicted
> 1991 packets header predicted and directly queued to user
> 132 acknowledgments not containing data payload received
> 2230 predicted acknowledgments
> 0 times recovered from packet loss by selective acknowledgements
> 0 congestion windows recovered without slow start after partial ack
> 0 TCP data loss events
> 0 timeouts after SACK recovery
> 0 fast retransmits
> 0 forward retransmits
> 0 retransmits in slow start
> 0 other TCP timeouts
> 1 times receiver scheduled too late for direct processing
> 0 packets collapsed in receive queue due to low socket buffer
> 0 DSACKs sent for old packets
> 0 DSACKs received
> 0 connections reset due to unexpected data
> 0 connections reset due to early user close
> 0 connections aborted due to timeout
> 0 times unabled to send RST due to no memory
> TCPSackShifted: 0
> TCPSackMerged: 0
> TCPSackShiftFallback: 0
> TCPBacklogDrop: 0
> TCPDeferAcceptDrop: 0
> IpExt:
> InMcastPkts: -652745397
> OutMcastPkts: 301498
> InBcastPkts: 13
> InOctets: -2004227752
> OutOctets: -2096666083
> InMcastOctets: 1058181285
> OutMcastOctets: -1510963815
> InBcastOctets: 1014
>
> And ethtool diff :
> $> ethtool -S eth1 > before ; sleep 10 ; ethtool -S eth1 > after
> $> beforeafter before after
> NIC statistics:
> rx_crc_errors: 0
> rx_alignment_symbol_errors: 0
> rx_pause_frames: 0
> rx_control_frames: 0
> rx_in_range_errors: 0
> rx_out_range_errors: 0
> rx_frame_too_long: 0
> rx_address_mismatch_drops: 6
> rx_dropped_too_small: 0
> rx_dropped_too_short: 0
> rx_dropped_header_too_small: 0
> rx_dropped_tcp_length: 0
> rx_dropped_runt: 0
> rxpp_fifo_overflow_drop: 0
> rx_input_fifo_overflow_drop: 0
> rx_ip_checksum_errs: 0
> rx_tcp_checksum_errs: 0
> rx_udp_checksum_errs: 0
> tx_pauseframes: 0
> tx_controlframes: 0
> rx_priority_pause_frames: 0
> pmem_fifo_overflow_drop: 0
> jabber_events: 0
> rx_drops_no_pbuf: 0
> rx_drops_no_erx_descr: 0
> rx_drops_no_tpre_descr: 0
> rx_drops_too_many_frags: 0
> forwarded_packets: 0
> rx_drops_mtu: 0
> eth_red_drops: 0
> be_on_die_temperature: 0
> rxq0: rx_bytes: 0
> rxq0: rx_pkts: 0
> rxq0: rx_compl: 0
> rxq0: rx_mcast_pkts: 0
> rxq0: rx_post_fail: 0
> rxq0: rx_drops_no_skbs: 0
> rxq0: rx_drops_no_frags: 0
> txq0: tx_compl: 257113
> txq0: tx_bytes: 1038623935
> txq0: tx_pkts: 257113
> txq0: tx_reqs: 257113
> txq0: tx_wrbs: 514226
> txq0: tx_stops: 10
>
> As you can see, there is 10 tx_stops in 10 seconds (it varies, can be 3 to 15).
> Any thoughts ?
>
> Regards,
> JM
If this can help, setting tx queue length to 5000 seems to make the
problem disappear.
I didn't specified it : MTU is 4096, UDP packets are 4000 bytes.
JM
next prev parent reply other threads:[~2012-05-30 6:28 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-29 14:46 Difficulties to get 1Gbps on be2net ethernet card Jean-Michel Hautbois
2012-05-30 6:28 ` Jean-Michel Hautbois [this message]
2012-05-30 6:48 ` Eric Dumazet
2012-05-30 6:51 ` Jean-Michel Hautbois
2012-05-30 7:06 ` Eric Dumazet
2012-05-30 7:25 ` Jean-Michel Hautbois
2012-05-30 9:40 ` Jean-Michel Hautbois
2012-05-30 9:56 ` Eric Dumazet
2012-05-30 10:06 ` Jean-Michel Hautbois
2012-05-30 10:04 ` Sathya.Perla
2012-05-30 10:07 ` Jean-Michel Hautbois
2012-06-06 10:04 ` Jean-Michel Hautbois
2012-06-06 11:01 ` Eric Dumazet
2012-06-06 12:34 ` Jean-Michel Hautbois
2012-06-06 13:07 ` Jean-Michel Hautbois
2012-06-06 14:36 ` Jean-Michel Hautbois
2012-06-07 12:27 ` Jean-Michel Hautbois
2012-06-07 12:31 ` Eric Dumazet
2012-06-07 12:54 ` Jean-Michel Hautbois
2012-06-08 6:08 ` Eric Dumazet
2012-06-08 8:14 ` Jean-Michel Hautbois
2012-06-08 8:22 ` Eric Dumazet
2012-06-08 14:53 ` Jean-Michel Hautbois
2012-06-12 8:24 ` Jean-Michel Hautbois
2012-06-12 8:55 ` Eric Dumazet
2012-06-12 9:01 ` Jean-Michel Hautbois
2012-06-12 9:06 ` Eric Dumazet
2012-06-12 9:10 ` Jean-Michel Hautbois
2012-05-30 10:30 ` Eric Dumazet
2012-05-30 11:10 ` Sathya.Perla
2012-05-31 6:54 ` Jean-Michel Hautbois
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='CAL8zT=jKhRjVCdYRCerMzimxPAhP5Gi+JBBfuKjG-rfg-LMoVw@mail.gmail.com' \
--to=jhautbois@gmail.com \
--cc=netdev@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).