[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] lwIP hangs on transfers with many short packets
From: |
Tyrel Newton |
Subject: |
Re: [lwip-users] lwIP hangs on transfers with many short packets |
Date: |
Fri, 28 May 2010 09:48:01 -0700 |
> Unfortunately, IIRC, emaclite does not support backtoback packets. Since we
> are sitting right behind a packet processor, we do expect this to happen -
> and we have to process non-TCP as well so cannot afford to drop packets at
> high rates. Has this restriction changed?
If you configure the emaclite with both the ping/pong buffers, its possible to
receive/transmit packets back-to-back. The real limitation with the emaclite is
that there is no DMA. This means the MicroBlace/PPC needs to manually move data
in/out of the mac's frame buffers, which they are especially not good at
because of the data alignment requirements. The main problem is that if the
MicroBlaze/PPC is copying data, then it is not processing the contents of the
packets (i.e. TCP/IP processing). There is really no way that an emaclite-based
system could keep a continuous stream of packets flowing in either direction.
> Would you provide your driver,
> should we ask?
All I really did with the emaclite driver was strip out all of the
configurability and cruff so that it is simply a data copier into and out of
the emaclite's frame buffers. Boiled down to its simplest, I have only been
able to get about 10 Mbps out of the emaclite using the following setup (this
is the basic setup provided with the Spartan-3A DSP 1800 development board):
- 62.5 MHz MicroBlaze
- 125 MHz DDR2 w/ 8k BRAM caches
The primary bottleneck is definitely the 62.5 MHz MicroBlaze copying data. With
the default emacite lwIP driver provided by Xilinx, I think the peak rate I saw
was in the 1~2 Mbps range.
I would provide the driver, but if you are using the temac, I would definitely
recommend staying with that. I would just verify that there is nothing silly
going on. For example, with Xilinx's default lwIP/emaclite driver, the outgoing
pbufs are copied to an intermediary buffer. This extra copy is completely
unnecessary and severely limits the throughput.
Tyrel
- Re: [lwip-users] lwIP hangs on transfers with many short packets, (continued)
- Re: [lwip-users] lwIP hangs on transfers with many short packets, multiplex, 2010/05/20
- Re: [lwip-users] lwIP hangs on transfers with many short packets, Tyrel Newton, 2010/05/20
- Re: [lwip-users] lwIP hangs on transfers with many short packets, multiplex, 2010/05/20
- Re: [lwip-users] lwIP hangs on transfers with many short packets, Kieran Mansley, 2010/05/24
- Re: [lwip-users] lwIP hangs on transfers with many short packets, multiplex, 2010/05/26
- Re: [lwip-users] lwIP hangs on transfers with many short packets, Kieran Mansley, 2010/05/26
- Re: [lwip-users] lwIP hangs on transfers with many short packets, multiplex, 2010/05/26
- Re: [lwip-users] lwIP hangs on transfers with many short packets, Kieran Mansley, 2010/05/27
- Re: [lwip-users] lwIP hangs on transfers with many short packets, Tyrel Newton, 2010/05/27
- Re: [lwip-users] lwIP hangs on transfers with many short packets, multiplex, 2010/05/28
- Re: [lwip-users] lwIP hangs on transfers with many short packets,
Tyrel Newton <=