Ethernet performance problems MPC5200

Rob Broersen rob.broersen at chess.nl
Sat Jun 7 00:33:43 EST 2008


Hello linuxppc-experts,

Sorry for the long posting, just tried to make sure I give a complete 
picture of our problem:

I would like to ask for help in an urgent (for us) matter involving
ethernet communication on the PP01 MPC5200 module. We are running ElinOS 
v4.1 based on linux kernel 2.6.15.

Let me first explain that this issue has nothing to do with the problem 
concerning ethernet communication that dies after a period of time. 
We've implemented the BSDIS patch described in an earlier posting in 
this list, and the error has never been seen since.

Our current problem is of a different kind: the ethernet communication
often (almost every second) stalls for about 100 - 400 milliseconds. 
I've attached a CSV file that was captured using WireShark. The problem 
occurs (for example) in lines 1824 - 1829. What can be seen here is data 
that is sent by the PP01 module (IP address 172.17.11.201) to a host PC 
(IP address 172.17.11.11). This stream of data is 3084 bytes payload in 
total, and is sent in 3 TCP packets, (2x 1460 bytes in lines 1824 and 
1826, 1x remainder of 164 bytes in line 1829). In the second column, the 
time elapsed since the previous packet is shown.

In line 1827 our actual problem can be seen: The delay between packets 2
(line 1826) and 3 (line 1829) of the data stream is more than 200 ms. We
require the data to be sent 20 times per second, so this delay of 200 ms
violates this spec. We've disabled the Nagle algorithm by setting the
NODELAY option for this port. Therefore, we don't understand why the
PP01 is waiting for such a long time to send the next packet.

We've tried different rmem and wmem sizes, disabling SACK, Enabling 
TCP_low_latency flags etc. etc. None of the combinations/settings we've 
tried works. Since the system is built for embedded use, and is used in 
a point-to-point fashion with 1 host PC, we are in a position where we 
can  disable all optimizations for network load balancing without any 
problem.

Please note: The ACKs from the host PC to the PP01 in lines 1827 and
1828 are not causing the problem, rather an effect of the long wait
period by the PP01.

So my questions are:
- what could cause this long delay in sending packets by the MPC5200?
- How can we solve the long latency, keeping in mind that we can disable 
all optimizations in TCP without problem.

All suggestions in this matter are greatly appreciated!

Regards,

Rob Broersen,
Chess Image Processing Solutions.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: error_log.csv
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20080606/12ae0840/attachment.asc>


More information about the Linuxppc-dev mailing list