Re: zero-copy TCP

From: Alan Cox (alan@lxorguk.ukuu.org.uk)
Date: Sat Sep 02 2000 - 19:00:13 EDT

  • Next message: Alexander Viro: "Re: 2.4.0-test8-pre1 is quite bad / how about integrating Rik's VM now?"

    > There is a checksum field in IPX, but it always contains xFFFF. Drew
    > always assumed upper layer programs, like NDS, would do heir own
    > checksumming for integrity, and in fact, this is how it's instrumented
    > in NetWare.

    Which is actually a design flaw on a modern architecture since it may cause
    the packet to bounce twice through cache if the network controller is PIO.
    Much less of an issue at the time netware 3 was designed

    > IPX headers and responses, in fact, the entire **REAL** IPX interface is
    > completely built around this concept internal to NetWare, and everything
    > is treated like a fragment list.

    (Fragmented on wire I mean here - sorry - I forgot netware folks use other
    terminology)

    > **NCP** is does not reside in IPX at all. That's why the implementation
    > in Linux is busted. The window size is variable and keys off of HOW
    > MANY FREE ECBS ARE IN THE SYSTEM. It doe not belong in the IPX/SPX
    > stack, but inside of MARS-NWE proper.

    Packet burst is in MARS-NWE not the kernel IPX code. Our IPX code actually
    doesnt know about NCP at all - so it has no fast paths or kernel helpers for
    the cache. It means we are materially poorer but we dont have to maintain
    magic for NCP. If you were doing a Linux netware clone you would want a
    kncpd for the cache hit cases

    > > The I/O size was typically 512-1024 bytes so you couldnt do page flipping, but
    > > since these were all trusted paths nobody I suspect worried to much.
    >
    > 576 bytes. Drew came up with this because he did not want to fuck

    (minus headers)

    > > You could build the same architecture with NFS and a very smart card. The acenic
    > > has firmware powerful enough to do the require RPC parsing.
    >
    > Good idea.

    Alan

    -
    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 - 19:09:40 EDT