Messages in this thread | | | Subject | Re: zero-copy TCP fileserving | From | Karl Kleinpaste <> | Date | 24 Sep 1999 17:04:37 -0400 |
| |
"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/
| |