lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20150218122507.GA6651@pqgruber.com>
Date:	Wed, 18 Feb 2015 13:25:08 +0100
From:	Clemens Gruber <clemens.gruber@...ruber.com>
To:	netdev@...r.kernel.org
Subject: RX performance bottleneck on i.MX6Q with KSZ9031

Hi,

we are developing an IO board with a TQMa6Q module, which in turn is
using the i.MX6Q. As ethernet PHY we are using the Micrel KSZ9031RNX.
We run Linux 3.19 and are experiencing poor receive throughput when
testing with iperf. However, this also occured on 3.16 and before.

Transmit performance is OK (about 350-400 Mbit/s), but when receiving
data, there seems to be an upper bound of 135 Mbit/s.

I am aware of the Freescale ERR004512, which explains the bottleneck for
TX but not for RX. I am of course testing this separately.

What's also odd is that when I am pinging the embedded board from my
Linux Desktop, I get the following result:
35 packets transmitted, 35 received, 0% packet loss, time 34043ms
rtt min/avg/max/mdev = 0.467/38.600/79.556/23.740 ms
But when pinging my desktop from the embedded board, I get a much lower RTT:
35 packets transmitted, 35 packets received, 0% packet loss
round-trip min/avg/max = 0.216/0.283/0.336 ms

ethtool eth0 reports the following:
Supported ports: [ TP MII ]
Supported link modes:   10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full 1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full 1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Link partner advertised link modes:  10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full 1000baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 3
Transceiver: external
Auto-negotiation: on
Link detected: yes

Can anyone confirm poor ethernet RX performance when using the i.MX6
processor and/or the KSZ9031RNX PHY?
Any ideas what the cause or bottleneck might be? fec driver, phy, mac?

Do you have any tips on how to debug this further and improve the
performance?

Best regards,
Clemens
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ