[ECOS] Problem of eCos 82559 Ethernet Driver Performance

Stephen Morgan smorgan@almaden.ibm.com
Wed Jun 12 09:50:00 GMT 2002


We had a similar issue with the i82559 on a high-performance PC, also 
acting more or less as a network bridge.

The BSD TCP/IP stack is efficient and well-tuned, and the eCos port 
doesn't seem to have changed that.  As you reported, eliminating the 
memory-to-memory copy didn't improve performance much.

We concluded -- perhaps hastily -- that the performance problem was 
inherent in the eCos driver model, which stresses real-timedness over 
performance.  Once we ripped out and rewrote the Ethernet driver to be 
more like a traditional Unix device driver, we achieved > 99% throughput 
on Fast Ethernet.

If performance is more important for you than guaranteed quick response to 
interrupts, as it was for us, I would suggest adapting the Ethernet driver 
code from BSD or Linux, or writing your own.  (Unfortunately, Intel 
doesn't release the Software Developers Manual for the i82559 except under 
a nondisclosure agreement, so writing your own may be problematic.)  Mask 
interrupts when sending and receiving packets.  Don't let threads handle 
packets.  Live dangerously.  8-)

Stephen P. Morgan





"Lee Doohwan" <gumpi@ajou.ac.kr>
Sent by: ecos-discuss-owner@sources.redhat.com
06/12/2002 04:46 AM

 
        To:     <ecos-discuss@sources.redhat.com>
        cc: 
        Subject:        [ECOS] Problem of eCos 82559 Ethernet Driver Performance

 

I have a system with MIPS processor(RM7000), two i82559 ethernet 
controller.

I had ported eCos to the my system.

But, ethernet performance is so low.

So, I improve i82559 ethernet driver for removing memory copy.

But, the performance remain unchanged.

The performance was about 20Mbps while the system operation was bridge 
only.

I think,  problem is that. BSD tcp/ip stack is so slow. or, the TX routine 
of ethernet driver is so slow.

What is problem?




-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list