Are you using RAWAPI? I
have data only for that mode. Chances are you need to speed up your
Ethernet driver and choose a faster checksum algorithm or write or find one in
assembly language. Both make a huge difference.
I have clocked lwIP at 940MbS
(megabits average – 960 peak) using a tcp_sent callback but doing nothing
in the callback. When I use the data as our application needs it (copying
it into sequential memory), I could get 500-600MbS using a DMA memory copy, but
this would lock up the PowerPC intermittently. Using a high-speed memory
copy (in assembly language) we can run our application with 300-400MbS –
this includes an interrupt running at 36kHz consuming almost half of the
processor bandwidth. We are sending 1 to 2MB blasts from the PC as many
as 7 or 8 per second. One critical point is that we must call tcp_output after
a tcp_write for the PC to respond quickly. Our application has 99% of the
data coming from the PC, not going to it. Be warned that WireShark
affects the bandwidth at higher speeds.
If you’re not using the
RAWAPI, this won’t help you too much except to show you what we found
lwIP to be capable of achieving.
Bill
From: address@hidden
[mailto:address@hidden On Behalf
Of Gary Olson
Sent: Tuesday, September 30, 2008 11:00 AM
To: address@hidden
Subject: [lwip-users] LWIP Delay between Consecutive Packets
Hi,
I am trying to figure
out if I can increase my TCP bandwidth. Using a PC timer I see that as
I send TCP Packets that the delay is in the range of 500 us on average.
There may be a couple at the
start with much less delay between TCP Packets. But most of the packets
after the first few are in the same range.
Does any one know what the LWIP
Delayed Acknowledge timer is set to. I have been looking on the web in
general for a solution to this. I program my PC in Visual C++
using Winsock so I am going to
see if using TCP NO DELAY will have a positive change. Since this
will cause the Nagle Algorithm to be disabled and packets are
supposed to be sent immediately
rather waiting for a delayed acknowledge to come first.
Thank You,
Gary
|
|