[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201311240540.23813.marex@denx.de>
Date: Sun, 24 Nov 2013 05:40:23 +0100
From: Marek Vasut <marex@...x.de>
To: Hector Palacios <hector.palacios@...i.com>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"fabio.estevam@...escale.com" <fabio.estevam@...escale.com>
Subject: Re: FEC performance degradation on iMX28 with forced link media
Hi Hector,
> Hello,
>
> When forcing the Ethernet PHY link media with ethtool/mii-tool on the
> i.MX28 I've seen important performance degradation as the packet size
> increases.
>
> On the target:
> # mii-tool eth0 -F 10baseT-FD
> # netpipe
>
> On the host:
> # netpipe -h <target-ip> -n 1
> ...
> 44: 1024 bytes 1 times --> 6.56 Mbps in 1191.00 usec
> 45: 1027 bytes 1 times --> 6.56 Mbps in 1193.52 usec
> 46: 1533 bytes 1 times --> 0.60 Mbps in 19600.54 usec
> 47: 1536 bytes 1 times --> 0.46 Mbps in 25262.52 usec
> 48: 1539 bytes 1 times --> 0.57 Mbps in 20745.54 usec
> 49: 2045 bytes 1 times --> 0.74 Mbps in 20971.95 usec
> ...
> On loop 46, as the packet size exceeds the MTU (1500) performance falls
> from 6.56Mbps to 0.60Mbps.
>
> Going back to 100baseTX-FD, but still forced (autonegotiation off), the
> same occurs: On the target:
> # mii-tool eth0 -F 100baseTx-FD
> # netpipe
>
> On the host:
> # netpipe -h <target-ip> -n 1
> ...
> 58: 6141 bytes 1 times --> 39.74 Mbps in 1179.03 usec
> 59: 6144 bytes 1 times --> 41.83 Mbps in 1120.51 usec
> 60: 6147 bytes 1 times --> 41.39 Mbps in 1133.03 usec
> 61: 8189 bytes 1 times --> 6.36 Mbps in 9823.94 usec
> 62: 8192 bytes 1 times --> 6.56 Mbps in 9521.46 usec
> 63: 8195 bytes 1 times --> 6.56 Mbps in 9532.99 usec
> ...
> only this time it happens with a larger packet size (8189 bytes).
>
> With autonegotiation on, performance is ok and does not suffer these drops.
>
> I've reproduced this on the mx28evk board but it also happens in my
> hardware, with different PHY on v3.10.
> I also tried on an old v2.6.35 kernel and the issue was reproducible as
> well, though it happened with larger packet sizes than it happens with
> v3.10:
> ...
> 75: 32771 bytes 1 times --> 49.64 Mbps in 5036.50 usec
> 76: 49149 bytes 1 times --> 46.18 Mbps in 8120.48 usec
> 77: 49152 bytes 1 times --> 43.30 Mbps in 8660.46 usec
> 78: 49155 bytes 1 times --> 40.10 Mbps in 9351.46 usec
> 79: 65533 bytes 1 times --> 2.03 Mbps in 246061.04 usec
> 80: 65536 bytes 1 times --> 2.21 Mbps in 226516.50 usec
> 81: 65539 bytes 1 times --> 1.45 Mbps in 344196.46 usec
> ...
>
> Could there be any issue with packet fragmentation?
> I tried the same on imx6sabresd but here the issue is not reproducible. I
> don't know if the higher CPU frequency might be hiding the problem,
> though.
>
> Any idea about what can make the difference between forcing media vs
> autonegotiation?
Let me ask, this might be unrelated, but I will still go ahead. Do you also
observe packetloss? You can check with iperf:
On host machine (PC): iperf -u -s -l 4M -i 60
On target: iperf -u -c <hostip> -t 3600 -B 100M -i 60
Best regards,
Marek Vasut
--
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