Re: zero-copy TCP

From: Jeff V. Merkey (jmerkey@timpanogas.com)
Date: Sat Sep 02 2000 - 23:31:10 EDT

  • Next message: Jeff V. Merkey: "Re: [ANNOUNCE] Withdrawl of Open Source NDS Project/NTFS/M2FS forLinux"

    Petr,

    I could give you a packet burst module to study. It's MANOS version and
    not linux, so you will need to backport it, but it will let you fake out
    a NetWare server without needing all this memory.

    Jeff

    Petr Vandrovec wrote:
    >
    > On Sun, Sep 03, 2000 at 12:00:13AM +0100, Alan Cox wrote:
    > > > **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
    >
    > Hi Alan,
    > there is ncpfs. It is client, not server... Main problem is that
    > packet burst protocol is that it is only for file reads and writes,
    > you cannot use it to listing (large) directories, or to return large
    > replies from NDS in one exchange.
    >
    > Fortunately NW5 can do NCP over TCP and UDP and ncpfs (in 2.4) currently
    > uses 60KB NCP window when talking over TCP to NW5. Due to nature of NCP
    > protocol it is much faster than with 1KB (or 1.5KB) window used for IPX or
    > UDP... Unfortunately, server allocates this handshaked window size of memory
    > for your connection, so 1000 conns with 60KB handshaked window consume 60MB
    > of memory...
    >
    > I do not plan implementing packet burst in ncpfs at all... NW5 does IP
    > reasonably well to let IPX die.
    >
    > > > > 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)
    >
    > Fortunately when Novell included packetburst code, they also added real
    > IPX MTU discovery into NCP (unfortunately, they really build it into NCP,
    > so f.e. SPX2 uses different handshake). That way it usually uses 1.45KB
    > window on ethernet and 4.2kB on tokenring (unless you changed some
    > settable value in server configuration - then you can go up to your
    > 16KB tokenring limit).
    > Best regards,
    > Petr Vandrovec
    > vandrove@vc.cvut.cz
    -
    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 - 23:36:15 EDT