Re: zero-copy TCP

From: Jes Sorensen (jes@linuxcare.com)
Date: Sat Sep 02 2000 - 17:59:38 EDT

  • Next message: Jeff V. Merkey: "[Fwd: zero-copy TCP]"

    >>>>> "Jeff" == Jeff V Merkey <jmerkey@timpanogas.com> writes:

    Jeff> all over the place that increases latency. Not to mention the
    Jeff> overhead of the type of interrupt and trap gates that suck up
    Jeff> about 50 clocks to fetch the IDT, PDE, and GDT tables for every
    Jeff> interrupt. NetWare copies nothing in TCPIP except at the stream
    Jeff> head. Why do you need to copy data anyway to checksum an IP
    Jeff> packet anyway? I noticed you do the right thing and keep the
    Jeff> headers and data as separate fragments during header
    Jeff> construction, so why do you need to copy data for checksumming?

    Because your hardware doesn't do scatter/gather DMA *and* TCP TX
    checksumming - only very few cards do. You have to build every packet
    in memory if the card doesn't do sct/gat since you can't really send
    out data without IP headers in front of it. And if your card doesn't
    do TX transmit then you have to run over all the data with the CPU to
    calculate the checksum and once you do this you can just as well do
    the full copy. Also note that many cards that do sct/gth also have a
    bit of latency per descriptor so you do not want to use 10 descriptors
    for a 1500 byte packet.

    Jes
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Sat Sep 02 2000 - 18:03:57 EDT