|
From: | Curt McDowell |
Subject: | RE: [lwip-users] Applications to TCP/IP offload |
Date: | Thu, 27 Oct 2005 11:07:51 -0700 |
Thanks for the input, Jim.
>As
for the performance improvement, that's a very significant question.
First, I think that it is important to ask what kind of performance improvement
you seek. If you are just seeking to offload the host, so that it can go
on to do some other task faster, then you stand a reasonable chance of seeing
that happen. If you are ultimately seeking to increase TCP/IP throughput,
that will be a more difficult road.
In our case, the host processor would be about 4 times as powerful as the coprocessor. The coprocessor has some spare cycles, and it'll be there regardless of whether it ends up doing TOE. The goal is simply to reduce CPU consumption on the host processor with no reduction in throughput. The MAC has no checksum acceleration, so that's actually one of the most important things to off-load. > I feel that your assessment of feasibility is
sound and that your list of problems and their resolution is reasonably
complete. Something always shows up in implementation, and I'm sure that
your project will be no exception, but I do think that your design is
solid.
I'm
finding that splitting the modules in the manner depicted is not so easy
after all. E.g., for efficiency reasons the top layer routine
netconn_write() calls tcp_sndbuf(), which peeks in the bottom
layer data structure. It's tempting to just add a
top layer to RPC the whole sockets API (but unfortunately,
the tiny RTOS on the TOE processor would then need to support
threads).
Regards, Curt McDowell
Broadcom Corp.
Curt McDowell wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |