* Re: zero-copy TCP fileserving
[not found] ` <199909241702.KAA06516@pizda.ninka.net>
@ 1999-09-24 21:04 ` Karl Kleinpaste
0 siblings, 0 replies; only message in thread
From: Karl Kleinpaste @ 1999-09-24 21:04 UTC (permalink / raw)
To: linux-kernel
"David S. Miller" <davem@redhat.com> writes:
> Because the csum_partial_copy_from_user done in the TCP transmit path
> gets the checksum at zero cost. Just eliminating the checksum is
> going to buy little if anything (in fact on some cpus it's going to
> cost more to "avoid" the csum part of the copy), the real gain is
> avoiding the copy as well.
> You'd need to, in tcp sendmsg:
> 1) Lock down the data buffer
> 2) Add support to the skb's for iovecs
> 3) Put the TCP/IP/HW headers in the first iovec
> 4) Hook up the user data in subsequent iovecs
In the early '90s, this concept was very new, and we (at CMU) did a
lot of work on it. Our final paper (from SIGCOMM'95) is under
http://www.acm.org/sigcomm/sigcomm95/sigcpapers.html, or I have a copy
at http://www.cs.cmu.edu/~karl/general/95sigcomm.ps.
At the time, 100Mbps ether didn't exist, and the 80386 was
simultaneously new and boring (due to being slow). We worked with
DecStation 5000s and later early Alphas with a custom-built (by NSC)
HIPPI interface, off the DS5K & Alpha turbochannel. Manufacturing a
new mbuf type which contained iovecs was exactly what we did.
--karl
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1999-09-24 21:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <7sego8$1c5$1@palladium.transmeta.com>
[not found] ` <E11UTH0-0004NE-00@the-village.bc.nu>
[not found] ` <19990924094504.A15678@dancer.ca.sandia.gov>
[not found] ` <199909241702.KAA06516@pizda.ninka.net>
1999-09-24 21:04 ` zero-copy TCP fileserving Karl Kleinpaste
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox