Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Awful transmit performance on PPC405/Virtex. Any hope?: (2 Items)
   
Awful transmit performance on PPC405/Virtex. Any hope?  
Hi everyone,

we're using QNX 6.3 on a 300MHz Virtex 4/PPC405 board.  Networking is done with the devn-xtemac.so driver and the "old" 
io-net network stack.

Unfortunately, the IP network transmit performance is really bad.  With a 1000MBit interface we only get a maximum 
throughput of about 6.8 MByte/sec under UDP/IP.   Analysis with the Momentics profiler shows a CPU load of 100% when 
sending data.  Furthermore it seems that most of the time (about 80%) is spent outside the devn-xtemac driver part.  
When using TCP/IP, the performance is even worse with an estimate of 4.1 MB/sec.

My questions are:

- Are these values reasonable or are we probably making some mistake regarding the low level driver?  The driver is a 
slightly modified version of the standard devn-xtemac.so

- Is this a situation that might improve with the new io-pkt networking stack?

Many thanks in advance for your help and kind regards,
Gerald "Jerry" Ruescher



_______________________________________________

Gerald Rüscher
Software Development Engineer
Core Real-Time Implementation

dSPACE GmbH          Tel.:  +49 5251 1638-1826
Technologiepark 25   Fax:   +49 5251 16198-1826
33100 Paderborn      http://www(dot)dspace(dot)de
Germany              mailto:GRuescher(at)dspace(dot)de
_______________________________________________



RE: Awful transmit performance on PPC405/Virtex. Any hope?  
Unfortunately, I'd have to agree with you that the networking performance is pretty abysmal.  The fundamental problem I 
believe has to do with the fact that the memory subsystem on that chip is very poor and there is a memory copy that 
occurs between the application and the stack for data.  Between that and the slowness associated with code in general 
(in part, I believe, due to the memory subsystem), the performance is not good.  Do you have hardware checksumming 
enabled?  This generally provides ~ 10-20% improvement.

	Io-pkt optimizes the receive path so I wouldn't expect a large change in the transmit path.  We have found some gains 
in Tx speed for TCP since ACKs get Rx'ed faster, but that's not a large gain.  That being said, we have seen gains of 30
-40% in receive speed for identical hardware using io-pkt, but that requires the driver to be re-written to become a 
native driver rather than an io-net legacy driver that goes through the shim.

	Robert.


-----Original Message-----
From: Gerald Ruescher [mailto:community-noreply@qnx.com] 
Sent: Tuesday, October 07, 2008 9:24 AM
To: drivers-networking
Subject: Awful transmit performance on PPC405/Virtex. Any hope?

Hi everyone,

we're using QNX 6.3 on a 300MHz Virtex 4/PPC405 board.  Networking is done with the devn-xtemac.so driver and the "old" 
io-net network stack.

Unfortunately, the IP network transmit performance is really bad.  With a 1000MBit interface we only get a maximum 
throughput of about 6.8 MByte/sec under UDP/IP.   Analysis with the Momentics profiler shows a CPU load of 100% when 
sending data.  Furthermore it seems that most of the time (about 80%) is spent outside the devn-xtemac driver part.  
When using TCP/IP, the performance is even worse with an estimate of 4.1 MB/sec.

My questions are:

- Are these values reasonable or are we probably making some mistake regarding the low level driver?  The driver is a 
slightly modified version of the standard devn-xtemac.so

- Is this a situation that might improve with the new io-pkt networking stack?

Many thanks in advance for your help and kind regards,
Gerald "Jerry" Ruescher



_______________________________________________

Gerald Rüscher
Software Development Engineer
Core Real-Time Implementation

dSPACE GmbH          Tel.:  +49 5251 1638-1826
Technologiepark 25   Fax:   +49 5251 16198-1826
33100 Paderborn      http://www(dot)dspace(dot)de
Germany              mailto:GRuescher(at)dspace(dot)de
_______________________________________________





_______________________________________________
Networking Drivers
http://community.qnx.com/sf/go/post14589