Messages in this thread |  | | Date | Sun, 3 Sep 2000 04:45:50 +0200 | From | Petr Vandrovec <> | Subject | Re: zero-copy TCP |
| |
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/
|  |