|
Hi guys I have been evaluating the Petalinux dist and I found a poor network performance, I used to measure it "iperf" and "netio" and in both tests I have founded the same extrange result. They was made beteween WinXP and petalinux using a crossover cable with a Spartan3E Starter Kit at 50 MHz and xps_ethernelite as MAC, in other words with the Spartan3E Reference Desing included in the petalinux_4.0_rc3. Microblaze has 2 KB of ICACHE and DCACHE and has hard mul, hard div and barrel shifters enabled. I don't think that CACHE size was important in these test because the Tx have a normal performance and the Rx not, the different results are shown below. The output of the netio software: ************************************************************** # ./netio -t 10.8.51.99 NETIO - Network Throughput Benchmark, Version 1.26 (C) 1997-2005 Kai Uwe Rommel TCP connection established. Packet size 1k bytes: 1297 KByte/s Tx, 12510 Byte/s Rx. Packet size 2k bytes: 1386 KByte/s Tx, 21752 Byte/s Rx. Packet size 4k bytes: 1437 KByte/s Tx, 24969 Byte/s Rx. Packet size 8k bytes: 1535 KByte/s Tx, 20753 Byte/s Rx. Packet size 16k bytes: 1546 KByte/s Tx, 26016 Byte/s Rx. Packet size 32k bytes: 1566 KByte/s Tx, 24744 Byte/s Rx. Done. ************************************************************** Note that the Rx throughput is very very poor, the netio server was in a PC, another interesting result is with netio and UDP protocol and this is the output: ************************************************************** # ./netio -u 10.8.51.99 NETIO - Network Throughput Benchmark, Version 1.26 (C) 1997-2005 Kai Uwe Rommel UDP connection established. Packet size 1k bytes: 1436 KByte/s (0%) Tx, 188 KByte/s (98%) Rx. Packet size 2k bytes: 1682 KByte/s (0%) Tx, 0 Byte/s (100%) Rx. Packet size 4k bytes: 2015 KByte/s (0%) Tx, 0 Byte/s (100%) Rx. Packet size 8k bytes: 2172 KByte/s (0%) Tx, 0 Byte/s (100%) Rx. Packet size 16k bytes: 2254 KByte/s (0%) Tx, 0 Byte/s (100%) Rx. Packet size 32k bytes: 2308 KByte/s (0%) Tx, 0 Byte/s (100%) Rx. Done. ************************************************************** The 100 % of the packets was lost, why ? I tested the netio software with petalinux with its own IP address, NOT the 127.0.0.1, and the throughput was nice 23 Mb/s. In my opinion this result show that the petalinux TCP/IP stack is OK, and I'm just wondering if the packets inside this type of connection was processed by EthernetLite MAC........ if not the problem may reside in the MAC.......else the problem is in hardware...... Now with the iperf the results was similar to netio, I didn't made the iperf test with UDP: IPERF Server in WinXP ************************************************************** H:\iperf>iperf.exe -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 8.00 KByte (default) ------------------------------------------------------------ [1876] local 10.8.51.114 port 5001 connected with 10.8.51.115 port 3222 [ ID] Interval Transfer Bandwidth [1876] 0.0-20.0 sec 14.9 MBytes 6.22 Mbits/sec ************************************************************** IPERF Server in Petalinux ************************************************************** H:\iperf>iperf.exe -c 10.8.51.115 -p 5001 -w 16k ------------------------------------------------------------ Client connecting to 10.8.51.115, TCP port 5001 TCP window size: 16.0 KByte ------------------------------------------------------------ [1916] local 10.8.51.114 port 1111 connected with 10.8.51.115 port 5001 [ ID] Interval Transfer Bandwidth [1916] 0.0-12.5 sec 664 KBytes 437 Kbits/sec The cable dont have problems. I'm stuck at this point, if you can share any opinion I will be very much appreciated Regards Alejandro Cabrera |