[meta-xilinx] Ethernet Transfer Speed Question

Mike Looijmans mike.looijmans at topic.nl
Wed May 6 04:48:41 PDT 2015


On 06-05-15 13:39, Joe Nicholson wrote:
> Hi Nathan et al
>
> I've a question regarding data transfer speed over Ethernet using the Xilinx
> 3.14 kernel built from the meta-xilinx layer.
>
> We've previously been using a 'custom' 3.9 kernel (basically a slightly
> customised Xilinx kernel, with a couple of new drivers… no important changes).
>
> We're keen to move to the standard Xilinx 3.14 kernel as built from
> meta-xilinx.  Our target is zc702-zynq7.
>
> On the 3.9 kernel, an iperf test of data transfer over the Ethernet gives a
> massively respectable 480Mbits/second!
>
> On the 3.14 kernel, however, the same test gives just 327Mbits/second.
>
> 327Mbits/second is OK, but still much lower than the Xilinx 3.9 kernel.
>
> I tried make oldconfig of the old 3.9 kernel configuration used that instead
> of the default config, but had the same result.
>
> Is it possible that the Ethernet driver has had some speed retardation in the
> driver recently, between 3.9 and 3.14?  Any pointers would be helpful.
>
> In reality I think we can probably cope with 327Mbits/second, however the
> customer's initial tests were on the 3.9 kernel... so I'm keen to trace the
> point of the speed reduction.
>
> On a similar issue, I tried the Daisy branch of meta-xilinx with the 3.14
> kernel – it achieves only 107Mbit/second!!
>
> I traced this down to CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y and a few other similar
> debugging options being switched on by default.  These are all nicely switch
> off in the Dizzy branch.
>
> So really, I'm keen to understand why the Ethernet transfer speed of the zc702
> appears to have slowed down and whether there's anything I can do to speed it
> back up!
>
> …e.g. move to Fido and a 3.17 kernel J
>
> Cheers!
>
> Joe Nicholson
>
>
>

With the 3.18 kernel, iperf3 gives me the following results on a 
topic-miami-florida board (also a zynq, 7015, so results should be the same as 
for any other board):

$ iperf3 -c 192.168.80.138
Connecting to host 192.168.80.138, port 5201
[  4] local 192.168.80.121 port 60370 connected to 192.168.80.138 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  75.6 MBytes   634 Mbits/sec   41    348 KBytes
[  4]   1.00-2.00   sec  75.1 MBytes   630 Mbits/sec    0    397 KBytes
[  4]   2.00-3.00   sec  74.7 MBytes   627 Mbits/sec    0    399 KBytes
[  4]   3.00-4.00   sec  75.6 MBytes   634 Mbits/sec    0    399 KBytes
[  4]   4.00-5.00   sec  74.7 MBytes   627 Mbits/sec   34    321 KBytes
[  4]   5.00-6.00   sec  76.2 MBytes   639 Mbits/sec    0    346 KBytes
[  4]   6.00-7.00   sec  73.6 MBytes   618 Mbits/sec    0    346 KBytes
[  4]   7.00-8.00   sec  75.3 MBytes   631 Mbits/sec    0    372 KBytes
[  4]   8.00-9.00   sec  75.3 MBytes   632 Mbits/sec    0    375 KBytes
[  4]   9.00-10.00  sec  77.0 MBytes   646 Mbits/sec    0    378 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   753 MBytes   632 Mbits/sec   75             sender
[  4]   0.00-10.00  sec   751 MBytes   630 Mbits/sec                  receiver


$ iperf3 -c 192.168.80.138 -R
Connecting to host 192.168.80.138, port 5201
Reverse mode, remote host 192.168.80.138 is sending
[  4] local 192.168.80.121 port 60366 connected to 192.168.80.138 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  79.5 MBytes   667 Mbits/sec
[  4]   1.00-2.00   sec  79.3 MBytes   665 Mbits/sec
[  4]   2.00-3.00   sec  79.3 MBytes   665 Mbits/sec
[  4]   3.00-4.00   sec  84.6 MBytes   710 Mbits/sec
[  4]   4.00-5.00   sec   103 MBytes   863 Mbits/sec
[  4]   5.00-6.00   sec   103 MBytes   865 Mbits/sec
[  4]   6.00-7.00   sec   103 MBytes   866 Mbits/sec
[  4]   7.00-8.00   sec   103 MBytes   866 Mbits/sec
[  4]   8.00-9.00   sec   103 MBytes   867 Mbits/sec
[  4]   9.00-10.00  sec   103 MBytes   866 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   943 MBytes   791 Mbits/sec    0             sender
[  4]   0.00-10.00  sec   943 MBytes   791 Mbits/sec                  receiver


The board is connected to the company network switch, and that's connected to 
the PC I'm running this on.

Apparently, something got fixed in later kernels :-)



Kind regards,

Mike Looijmans
System Expert

TOPIC Embedded Products
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
Telefax: +31 (0) 499 33 69 70
E-mail: mike.looijmans at topicproducts.com
Website: www.topicproducts.com

Please consider the environment before printing this e-mail








More information about the meta-xilinx mailing list