lwip-devel
[Top][All Lists]
Advanced

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

RE: [lwip-devel] Re: [task #7040] Work on tcp_enqueue


From: bill
Subject: RE: [lwip-devel] Re: [task #7040] Work on tcp_enqueue
Date: Mon, 2 Feb 2009 12:16:38 -0500

> Both, but it turned out the FPGA had no room for the DMA+checksum
> hardware :-( However, the overhead of checksumming with the custom
> instruction is zero to normal memcpy, hence my introducing task #6849.
> Sadly, since the project got delayed a little, I'm not working on this
> right now...

Maybe I should reply in that task.  For zero-copy TCP, if the hardware can
DMA-checksum in each direction, it really pays off to do it there since the
bytes are summed during the hardware copy to memory.  Then all checksumming
in lwIP can be disabled.  There is no memory-related overhead to read the
data until the application needs it.  This hit is substantial because DMA
(on most processors) doesn't load to cache, so the checksum in lwIP is
burdened with the memory access overhead in lwIP and again in the
application if the cache is flushed before the application uses the data.

The changes in the driver are not substantial to checksum at that level.
There's a little parsing and extra setup to load registers and to start the
DMA-checksumming.  We're going down this path - I will let you know the gain
for a NIOS II platform for a DMA-checksum driver.

Bill






reply via email to

[Prev in Thread] Current Thread [Next in Thread]