Re: X15 alpha release: as fast as TUX but in user space

David S. Miller
2001-04-30T21:53:42Z

dean gaudet writes:
> On Sun, 29 Apr 2001, David S. Miller wrote:
>
> > If you do the TCP_CORK thing, what you end up with is a scatter gather
> > entry in the SKB for the header bits, then the page cache segments.
>
> so then the NIC would be sent a 3 entry gather list -- 1 entry for TCP/IP
> headers, 1 for HTTP headers, and 1 for the initial page cache segment?

Basically. It's weird because we could change tcp_sendmsg() to grab a
"little bit" of space in skb->data after the TCP headers area, but
that would screw all the memory allocation advantages carving up pages
gives us.

TCP used to be really rough on the memory subsystem, and in particular
going to a page carving scheme helped a lot in this area.

> are there any NICs which take only 2 entry lists? (boo hiss and curses
> on such things if they exist!)

Tulip I think falls into this category, I could be wrong. It has two
buffer pointers in the RX descriptor, but one might be able to chain
them.

Alexey added SG support to Tulip at some point, and I can probably dig
up the patch. It doesn't do hw csumming, though.

Later,
David S. Miller
davem@redhat.com