[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