[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: AXIS ETRAX 100LX ethernet speed



Hi,

When sending raw packets the ETRAX 100LX is capable of
saturating a 100 Mbps Ethernet. With TCP/IP it is hard
to reach over  5 MByte/second because of the checksum 
calculations. With non optimal memory configuration 
(e.g. the developer board) the performance drops further. 
A while ago we optimized the Ethernet driver in Linux 
and got good performance improvements (25% high on received 
data). We are rather convinced that we can't reach much 
higher performance with Linux. To get really high 
performance we would need to do the checksum calculation
in hardware. 

PS. You are certainly welcome to try to optimize the
Ethernet driver or the checksumming software. But in keep
in mind that it is easy to introduce bugs that are hard
to find in these parts of software. DS

/Mikael

-----Original Message-----
From: Chris Uhlik [mailto:cuhlik@xxxxxxx.com]
Sent: Friday, March 28, 2003 6:52 AM
To: dev-etrax; starvik@xxxxxxx.com
Cc: Andrey Filippov; Chris Uhlik; Joseph O'Sullivan
Subject: AXIS ETRAX 100LX ethernet speed


On this page,

  http://developer.axis.com/products/etrax100lx/index.html

it says

> Support higher bandwidth networks 
> 
> The increasing use of network topologies such as Fast Ethernet has
> created the requirement to support faster speeds in Axis products. To
> achieve a higher data transfer rate, both the CPU and DMA functions
> were integrated. This has enabled Axis to simplify the design,
> reducing necessary program memory by a factor of 30 percent over a
> typical 32-bit RISC processor while lowering the cost.
> 
> Optimize performance 
> 
> In order to saturate a 100 Mbit network, Axis created a packet burst
> architecture featuring a zero-copy network DMA structure. The
> integration of this structure into the overall architecture results in
> a network device "system-on-a-chip" capable of supporting high
> performance while reducing the load on the 100 MIPS-rated CPU.
> 
> The overall approach is one suited for connectivity rather than
> computation, supports data transfer rates of up to 200 Mbit/s (100
> Mbit Ethernet full duplex), as well as a wide range of network device
> applications


And on this page

  http://mhonarc.axis.se/dev-etrax/msg02816.html

you say 

> On a standard developer board with 2.4.19 and with 
> CONFIG_ETRAX_SERIAL_FAST_DMA_FLUSH (or similar) disabled
> you should reach approx 4 MByte/sec for receive and
> 3 MByte/sec for transmit. With custom hardware you can
> reach 5 MByte/sec for receive and 4 for transmit.


Andrey's design http://www.elphel.com/model313/index.html indeed
reachs 28 Mbps for transmit or just over 3 MByte/sec.  I was wondering
if you know if this limitation is intrinsic to the Etrax100LX chip
hardware design or perhaps intrinsic to the particular software
implementation of the Linux driver for the on-chip Ethernet MAC?  If
the limitation is a software implementation issue which could be fixed
with the application of some developer time, I would perhaps be
willing to fund this development.

Sincerely,

Chris Uhlik
Engineering Director
Google