Re: [ECOS] Re: How to use IP/UDP/TCP checksum offload HW?

Ilija Kocho <[email protected]>
Newsgroups gmane.os.ecos.devel
Message-ID <4DEDE781.5040108__10586.779661435$1307436971$gmane$org@siva.com.mk>
On 07.06.2011 04:18, Laurie Gellatly wrote:
>
> On 07/06/2011, at 10:57 AM, Grant Edwards <[email protected]> wrote:
>
>> On 2011-06-07, Laurie Gellatly <[email protected]> wrote:
>>
>>> I tried to enable this before without success.
>> Ah yes, I saw your (unanswered) post from a few years back asking
>> about this.  I was hoping there had been some progress since then.
>>
>>> I agree that its a waste of processor time when it can be performed
>>> in hardware.
>> The last time I did some profiling, IP checksum calculation was a
>> pretty significant bottleneck for TCP throughput.  Back in the NetBSD
>> stack days, I got about a 20% improvement in throughput by writing my
>> own assembly-language IP checksum routine for ARM7.  The FreeBSD C
>> implementation and more recent versions of gcc do almost as well as
>> hand-tuned assembly, but it's still a big percentage of CPU usage in
>> TCP communications -- and it will be even worse now that I have a chip
>> that does scatter-gather DMA.  A part for US $4 that has IP checksum
>> offloading and scatter-gather DMA.  Back when I was a new grad...
>>
>>> Must we look at the latest BSD code to see how to implement this?
>> Maybe.  Or there might be a simpler way to do it.  I would guess that
>> the current FreeBSD has an API to configure this on a per-interface
>> basis at run-time.
>>
>> If we can assume that there is only one external interface, then we
>> don't need any API or runtime checks, just a few strategic #if/#endif
>> pairs and some CDL to control them.
>>
>> -- 
>> Grant
>>
>>
>> -- 
>> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
>> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>>
> So how do we progress this?
> Should we offline exchange the mods we've each tried (code and CDL)?

I am going to need the same soon only with lwIP. Recent on-chip Ethernet
controllers provide for some IP processing so IMO we should address this
issue generally. Is there place for some community project?

Ilija.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.