Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - netbsd vs. embedded Tagets: (2 Items)
   
netbsd vs. embedded Tagets  
Hi all,

we have several embedded boards, which are driven by ppc405,  ppc440, mpc5200,...  cpu's from 200...500 Mhz.

We made some performance tests under QNX and Linux.

It is not possible, to set up a tcp or udp connection, which results in a full utilized 100MBit ethernet line. 
e.g. ppc405gpr 266 Mhz:

tcp discard = 4.8MByte/sec.
28677      io-pkt-v4  2866   95%    95%
868372         inetd    79    2%     2%

tcp chargen = 0.5MByte/sec.
28677      io-pkt-v4  2215   79%    73%
864276         inetd   522   18%    17%

Well, the network is very slow and consumes very much cpu cycles.

Do we need a tiny tcp stack in the future again?

Why is the net bsd stack statically linked with io-pkt?

Is the net bsd stack secure but too slow for an embedded system?

Do you plan to get rid of the timer-tick irq handler in io-pkt?
It is not nice to have an irq in the io-pkt process every ms.

The networking driver for the ppc405 seems to be ok.(zero copy)

We are planning to get rid of the shim layer as a first step.
Is there anybody working on the devnp- port for devn-ppc405.so out there?
If not, we could do that.

BTW the same system under linux tranfers the full possible bandwith in both directions. Ok, we do not need to have that 
much performance. The realtime behaviour is more important, but 0.5MB chargen with 90% system-load is not ok.

Kind Regards 
Michael






Well, 


RE: netbsd vs. embedded Tagets  
Rob Craig used to look at stuff like this.  He and I worked
on getting the devnp-i82544.so driver between speedy x86's 
with io-pkt to first drive gige at wire rate (we needed PCI 
express, stock PCI doesn't have the bandwidth) and then by 
enabling hardware checksumming and TSO, we got the cpu
consumption at gige wire rate of io-pkt down from 22% to 
14%, using ttcp.

As a very rough rule of thumb, with a processor one-tenth
as powerful, you oughta be able to drive a wire at one-tenth
the speed with about the same cpu usage.

Mind you, this assumes a pretty optimized driver, which a
io-net driver with the shim is surely not!

--
aboyd