[meta-xilinx] Ethernet Transfer Speed Question

Joe Nicholson joe at joenicholson.co.uk
Wed May 6 05:25:33 PDT 2015


Thanks, Mike, that's really helpful.  Very good news to hear that the issue has been 'fixed' in later kernels :-)
If I can get this board to anything approaching that speed, I'll be very happy.

All I need now is to get a 3.18+ kernel build out of the meta-xilinx layer... it's still defaulting to 3.14 for this machine, even in the new Fido branch.

I see the meta-xilinx layer has a linux-yocto 3.19 recipe (3.17 in Dizzy), but only uses it for the microblaze config.
Is it possible for me to change to the linux-yocto 3.17/19 kernel recipe for the zc702-zynq7 machine (e.g. by changing XILINX_DEFAULT_KERNEL)?  Or will this only work correctly for the microblaze?

Alternatively, would a better approach be for me to make up a completely new 3.18/19 Xilinx kernel recipe that brings in the standard Xilinx kernel and just use that?  
I have to admit that although the meta-xilinx layer is very clever re. configuration fragments and kernel features, it's starting to confuse my (ageing) brain! 

;-)

Cheers!

Joe Nicholson


-----Original Message-----
From: Mike Looijmans [mailto:mike.looijmans at topic.nl] 
Sent: 06 May 2015 12:49
To: Joe Nicholson; meta-xilinx at yoctoproject.org
Subject: Re: [meta-xilinx] Ethernet Transfer Speed Question

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