[Fwd: zero-copy TCP]

From: Jeff V. Merkey (jmerkey@timpanogas.com)
Date: Sat Sep 02 2000 - 16:57:31 EST


 

attached mail follows:



Jes,

I wrote the SMP ODI networking layer in NetWare that used today by over
90,000,000 NetWare users. I also wrote the SMP LLC8022 Stack, the SMP
IPX/SPX Stack, and the SMP OSPF TCPIP stack in NetWare. I think I know
what the hell I'm doing here. Most Network protocols assume a
primary/secondary relationship. The faster you can get requests in and
out of a server, the faster the response time on the client for remote
file system operation. What I wrote is THREE TIMES FASTER THAN WHAT'S
IN LINUX. Care to do a challenge. Let's take my NetWare code and see
which is faster and lower latency on a Network. Mine or Linux's. I bet
you $100.00 it will beat the Linux code in every test.

Jeff

Jes Sorensen wrote:
>
> >>>>> "Jeff" == Jeff V Merkey <jmerkey@timpanogas.com> writes:
>
> Jeff, could you start by learning to quote email and not send a full
> copy of the entire email you reply to (read rfc1855).
>
> Jeff> The entire Linux Network subsystem needs an overhaul. The code
> Jeff> copies data all over the place. I am at present pulling it apart
> Jeff> and porting it to MANOS, and what a mess indeed. In NetWare, the
> Jeff> only time data ever gets copied from incoming packets is:
>
> Try and understand the code before you make such bold statements.
>
> Jeff> 1. A copy to userspace at a stream head. 2. An incoming write
> Jeff> that gets copied into the file cache.
>
> Jeff> Reads from cache are never copied. In fact, the network server
> Jeff> locks a file cache page and sends it unaltered to the network
> Jeff> drivers and DMA's directly from it. Since NetWare has WTD's
> Jeff> these I/O requests get processed at the highest possible
> Jeff> priority. In networking, the enemy is LATENCY for fast
> Jeff> performance. That's why NetWare can handle 5000 users and Linux
> Jeff> barfs on 100 in similiar tests. Copying increases latency, and
> Jeff> the long code paths in the Linux Network layer.
>
> You can't DMA directly from a file cache page unless you have a
> network card that does scatter/gather DMA and surprise surprise,
> 80-90% of the cards on the market don't support this. Besides that you
> need to do copy-on-write if you want to be able to do zero copy on
> write() from user space, marking data copy on write is *expensive* on
> x86 SMP boxes since you have to modify the tlb on all
> processors. On top of that you have to look at the packet size, for
> small packets a copy is often a lot cheaper than modifying the page
> tables, even on UP systems so you need a copy/break scheme here.
>
> As wrt your statement on latency then it's nice to see that you don't
> know what you are talking about. Latency is one issue in fast
> networking it's far from the only one. Latency is important for
> message passing type applications however for bulk data transfers it's
> less relevant since you really want deep pipelining here and properly
> written applications. If you TCP window is too small even zero latency
> will only buy you soo much on a really fast network.
>
> 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 : Thu Sep 07 2000 - 21:00:14 EST