[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141224001844.15e13db8@neptune.home>
Date: Wed, 24 Dec 2014 00:18:44 +0100
From: Bruno Prémont <bonbons@...ux-vserver.org>
To: Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>
Cc: netdev@...r.kernel.org
Subject: Marvell Kirkwood - MV643XX: near 100% UDP RX packet loss
Hi,
On a SheevaPlug, Marvell Kirkwood based, I get nearly 100% packet loss
when running iperf in UDP (rx) mode while I get ~400Gb/s in tx.
For TCP both rx and tx result in about 650Mb/s.
Running iperf server on the sheevaplug:
# iperf3 -s -p 3740
Running iperf client on a AMD APU:
# iperf3 -p 3740 -t 5 -b 0 -4 -c sheevaplug $extra
iperf output at the end.
Both systems are interconnected with a Gb/s switch [Netgear GS108E]
which successfully handles 950Mb/s between my client and a AMD turion
system (both directions, UDP as well as TCP).
Am I mis-configuring the SheevaPlug or is there some bug causing all
the UDP packets to get lost? (slow rate UDP is working fine however)
Thanks,
Bruno
On the SheevaPlug:
# uname -a
Linux sheevaplug 3.15.0-sheeva+ #1 Mon Jun 9 21:58:19 CEST 2014 armv5tel Marvell Kirkwood (Flattened Device Tree) GNU/Linux
# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 2048 (this defaults to 128 on boot)
RX Mini: 0
RX Jumbo: 0
TX: 256
# ethtool -k eth0
Features for eth0:
rx-checksumming: on
tx-checksumming: on
tx-checksum-ipv4: on
tx-checksum-ip-generic: off [fixed]
tx-checksum-ipv6: off [fixed]
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: off [fixed]
scatter-gather: on
tx-scatter-gather: on
tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
tx-tcp-segmentation: off [fixed]
tx-tcp-ecn-segmentation: off [fixed]
tx-tcp6-segmentation: off [fixed]
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: off [fixed]
tx-vlan-offload: off [fixed]
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: off [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-ipip-segmentation: off [fixed]
tx-sit-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-mpls-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]
# ethtool -S eth0
NIC statistics:
rx_packets: 6188650
tx_packets: 5407424
rx_bytes: 2949700388
tx_bytes: 1527361112
rx_errors: 0
tx_errors: 0
rx_dropped: 0
tx_dropped: 0
good_octets_received: 9696302398
bad_octets_received: 0
internal_mac_transmit_err: 0
good_frames_received: 7961482
bad_frames_received: 0
broadcast_frames_received: 45063
multicast_frames_received: 35667
frames_64_octets: 390741
frames_65_to_127_octets: 1213008
frames_128_to_255_octets: 1159241
frames_256_to_511_octets: 10833
frames_512_to_1023_octets: 1123895
frames_1024_to_max_octets: 9471171
good_octets_sent: 5851110022
good_frames_sent: 5407407
excessive_collision: 0
multicast_frames_sent: 35326
broadcast_frames_sent: 109099
unrec_mac_control_received: 0
fc_sent: 0
good_fc_received: 0
bad_fc_received: 0
undersize_received: 0
fragments_received: 0
oversize_received: 0
jabber_received: 0
mac_receive_error: 0
bad_crc_event: 0
collision: 0
late_collision: 0
rx_discard: 1772832
rx_overrun: 0
Why are so many packets being discarded?
========= UDP ($extra = -u) ====================
Connecting to host sheevaplug, port 3740
[ 4] local 192.168.0.139 port 46162 connected to 192.168.0.70 port 3740
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.00 sec 114 MBytes 959 Mbits/sec 14640
[ 4] 1.00-2.00 sec 114 MBytes 958 Mbits/sec 14620
[ 4] 2.00-3.00 sec 114 MBytes 958 Mbits/sec 14620
[ 4] 3.00-4.00 sec 114 MBytes 958 Mbits/sec 14620
[ 4] 4.00-5.00 sec 114 MBytes 958 Mbits/sec 14630
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-5.00 sec 571 MBytes 958 Mbits/sec 10.405 ms 72415/72673 (1e+02%)
[ 4] Sent 72673 datagrams
iperf Done.
-----------------------------------------------------------
Server listening on 3740
-----------------------------------------------------------
Accepted connection from 192.168.0.139, port 45461
[ 5] local 192.168.0.70 port 3740 connected to 192.168.0.139 port 46162
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.00-1.07 sec 368 KBytes 2.83 Mbits/sec 80.399 ms 5086/5132 (99%)
[ 5] 1.07-2.01 sec 280 KBytes 2.44 Mbits/sec 42.903 ms 16726/16761 (1e+02%)
[ 5] 2.01-3.02 sec 408 KBytes 3.29 Mbits/sec 20.992 ms 15643/15694 (1e+02%)
[ 5] 3.02-4.03 sec 392 KBytes 3.17 Mbits/sec 25.503 ms 15140/15189 (1e+02%)
[ 5] 4.03-5.02 sec 488 KBytes 4.07 Mbits/sec 11.793 ms 17642/17703 (1e+02%)
[ 5] 5.02-5.24 sec 128 KBytes 4.69 Mbits/sec 10.405 ms 2178/2194 (99%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.00-5.24 sec 571 MBytes 915 Mbits/sec 10.405 ms 72415/72673 (1e+02%)
========= UDP reverse ($extra = -u -R) ============
Connecting to host sheevaplug, port 3740
Reverse mode, remote host sheevaplug is sending
[ 4] local 192.168.0.139 port 48931 connected to 192.168.0.70 port 3740
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-1.00 sec 55.0 MBytes 462 Mbits/sec 0.083 ms 320/7366 (4.3%)
[ 4] 1.00-2.00 sec 57.5 MBytes 482 Mbits/sec 0.132 ms 0/7362 (0%)
[ 4] 2.00-3.00 sec 57.0 MBytes 478 Mbits/sec 0.079 ms 0/7295 (0%)
[ 4] 3.00-4.00 sec 58.1 MBytes 488 Mbits/sec 0.088 ms 0/7439 (0%)
[ 4] 4.00-5.00 sec 58.2 MBytes 488 Mbits/sec 0.073 ms 0/7446 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-5.00 sec 288 MBytes 484 Mbits/sec 0.079 ms 320/36920 (0.87%)
[ 4] Sent 36920 datagrams
iperf Done.
-----------------------------------------------------------
Server listening on 3740
-----------------------------------------------------------
Accepted connection from 192.168.0.139, port 45462
[ 5] local 192.168.0.70 port 3740 connected to 192.168.0.139 port 48931
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 5] 0.00-1.00 sec 55.7 MBytes 467 Mbits/sec 7130
[ 5] 1.00-2.00 sec 56.9 MBytes 477 Mbits/sec 7280
[ 5] 2.00-3.00 sec 57.0 MBytes 478 Mbits/sec 7290
[ 5] 3.00-4.00 sec 58.2 MBytes 488 Mbits/sec 7450
[ 5] 4.00-5.00 sec 58.1 MBytes 488 Mbits/sec 7440
[ 5] 5.00-5.05 sec 2.58 MBytes 483 Mbits/sec 330
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.00-5.05 sec 288 MBytes 479 Mbits/sec 0.079 ms 320/36920 (0.87%)
========= TCP ($extra = ) ====================
Connecting to host sheevaplug, port 3740
[ 4] local 192.168.0.139 port 45464 connected to 192.168.0.70 port 3740
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 68.6 MBytes 575 Mbits/sec 0 361 KBytes
[ 4] 1.00-2.00 sec 79.6 MBytes 669 Mbits/sec 0 451 KBytes
[ 4] 2.00-3.00 sec 80.1 MBytes 672 Mbits/sec 0 451 KBytes
[ 4] 3.00-4.00 sec 80.8 MBytes 678 Mbits/sec 0 451 KBytes
[ 4] 4.00-5.00 sec 81.0 MBytes 678 Mbits/sec 0 451 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-5.00 sec 390 MBytes 654 Mbits/sec 0 sender
[ 4] 0.00-5.00 sec 387 MBytes 649 Mbits/sec receiver
iperf Done.
-----------------------------------------------------------
Server listening on 3740
-----------------------------------------------------------
Accepted connection from 192.168.0.139, port 45463
[ 5] local 192.168.0.70 port 3740 connected to 192.168.0.139 port 45464
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 67.0 MBytes 561 Mbits/sec
[ 5] 1.00-2.00 sec 77.0 MBytes 646 Mbits/sec
[ 5] 2.00-3.00 sec 80.1 MBytes 671 Mbits/sec
[ 5] 3.00-4.00 sec 80.8 MBytes 678 Mbits/sec
[ 5] 4.00-5.00 sec 80.9 MBytes 679 Mbits/sec
[ 5] 5.00-5.02 sec 1.00 MBytes 595 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 5] 0.00-5.02 sec 390 MBytes 652 Mbits/sec 0 sender
[ 5] 0.00-5.02 sec 387 MBytes 647 Mbits/sec receiver
========= TCP reverse ($extra = -R) ============
Connecting to host sheevaplug, port 3740
Reverse mode, remote host sheevaplug is sending
[ 4] local 192.168.0.139 port 45466 connected to 192.168.0.70 port 3740
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 72.2 MBytes 605 Mbits/sec
[ 4] 1.00-2.00 sec 72.0 MBytes 604 Mbits/sec
[ 4] 2.00-3.00 sec 72.2 MBytes 606 Mbits/sec
[ 4] 3.00-4.00 sec 73.8 MBytes 619 Mbits/sec
[ 4] 4.00-5.00 sec 73.5 MBytes 616 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-5.00 sec 364 MBytes 611 Mbits/sec 0 sender
[ 4] 0.00-5.00 sec 364 MBytes 611 Mbits/sec receiver
iperf Done.
-----------------------------------------------------------
Server listening on 3740
-----------------------------------------------------------
Accepted connection from 192.168.0.139, port 45465
[ 5] local 192.168.0.70 port 3740 connected to 192.168.0.139 port 45466
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 5] 0.00-1.02 sec 73.0 MBytes 599 Mbits/sec 0 257 KBytes
[ 5] 1.02-2.03 sec 72.5 MBytes 604 Mbits/sec 0 257 KBytes
[ 5] 2.03-3.03 sec 72.5 MBytes 606 Mbits/sec 0 257 KBytes
[ 5] 3.03-4.03 sec 73.8 MBytes 619 Mbits/sec 0 257 KBytes
[ 5] 4.03-5.02 sec 72.5 MBytes 616 Mbits/sec 0 257 KBytes
[ 5] 5.02-5.02 sec 0.00 Bytes 0.00 bits/sec 0 257 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 5] 0.00-5.02 sec 364 MBytes 609 Mbits/sec 0 sender
[ 5] 0.00-5.02 sec 364 MBytes 609 Mbits/sec receiver
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists