Re: zero-copy TCP

2000-09-02 Thread Alan Cox
> You stated in an earlier message you copied the data when you caclulated > the TCPIP checksum? No you say you don't. Perhaps I misunderstood. We do a single copy/checksum from user space. You have to do the copy because the packet may not be DMAable, may not be aligned for most PCI hardware a

Re: zero-copy TCP

2000-09-02 Thread Alan Cox
> You just told us earlier in the thread that NetWare does direct zero > copy DMA but thats only half the story obviously. Up until the era of > Gigabit Ethernet cards there were almost no PCI cards available that > would do scatter/gather so obviously netware wasn't doing zero copy > either. Net

Re: zero-copy TCP

2000-09-02 Thread Jeff V. Merkey
Alan Cox wrote: > > We dont copy for checksumming. We fold the single user space copy and the > checksum operation into one path, because on any modern CPU it costs precisely > the same to copy as to copy/checksum. You stated in an earlier message you copied the data when you caclulated the TC

Re: zero-copy TCP

2000-09-02 Thread Alan Cox
> > There arent copies all over the case for the paths that occur. Like 99.999% > > of the time. Fragmented packets dont happen except for NFS (which is a rather > > broken protocol anyway). > > There are. You forgot to cite them > > the socket operations from user space use file-> dereferen

Re: zero-copy TCP

2000-09-02 Thread Jeff V. Merkey
Alan Cox wrote: > > > > Sounds like Linux - one DMA and one copy to user space. > > > > Alan, Please. I'm in your code and there are copies all over the > > place. I agree you have a "fast path" for most stuff, but there's all > > There arent copies all over the case for the paths that occur

Re: zero-copy TCP

2000-09-02 Thread Jes Sorensen
> "Jeff" == Jeff V Merkey <[EMAIL PROTECTED]> writes: Jeff> **ALL** Netware network drivers support a scatter/gather Jeff> proramming interface, whether the hardware does or not. In Jeff> NetWare, the drivers get passed a fragment list in what's called Jeff> an ECB (Event Control Block). It

Re: zero-copy TCP

2000-09-02 Thread Alan Cox
> > Sounds like Linux - one DMA and one copy to user space. > > Alan, Please. I'm in your code and there are copies all over the > place. I agree you have a "fast path" for most stuff, but there's all There arent copies all over the case for the paths that occur. Like 99.999% of the time. Frag

Re: zero-copy TCP

2000-09-02 Thread Jeff V. Merkey
**ALL** Netware network drivers support a scatter/gather proramming interface, whether the hardware does or not. In NetWare, the drivers get passed a fragment list in what's called an ECB (Event Control Block). It's the drivers responsiblity to assemble the fragment lists. We did it this way t

Re: zero-copy TCP

2000-09-02 Thread Jes Sorensen
> "Jeff" == Jeff V Merkey <[EMAIL PROTECTED]> writes: [since you like to forward things after sending me a private email, I'll do the same]. Jeff> I wrote the SMP ODI networking layer in NetWare that used today by Jeff> over 90,000,000 NetWare users. I also wrote the SMP LLC8022 Jeff> Stack

Re: zero-copy TCP

2000-09-02 Thread Andi Kleen
On Sat, Sep 02, 2000 at 10:35:11PM +0100, Alan Cox wrote: > > to MANOS, and what a mess indeed. In NetWare, the only time data ever > > gets copied from incoming packets is: > > > > 1. A copy to userspace at a stream head. > > 2. An incoming write that gets copied into the file cache. > > Soun

Re: zero-copy TCP

2000-09-02 Thread Jes Sorensen
> "Jeff" == Jeff V Merkey <[EMAIL PROTECTED]> 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

Re: zero-copy TCP

2000-09-02 Thread Jeff V. Merkey
Alan Cox wrote: > > > to MANOS, and what a mess indeed. In NetWare, the only time data ever > > gets copied from incoming packets is: > > > > 1. A copy to userspace at a stream head. > > 2. An incoming write that gets copied into the file cache. > > Sounds like Linux - one DMA and one copy t

Re: zero-copy TCP

2000-09-02 Thread Alan Cox
> to MANOS, and what a mess indeed. In NetWare, the only time data ever > gets copied from incoming packets is: > > 1. A copy to userspace at a stream head. > 2. An incoming write that gets copied into the file cache. Sounds like Linux - one DMA and one copy to user space. > Reads from cache

Re: zero-copy TCP

2000-09-02 Thread Jes Sorensen
> "Jeff" == Jeff V Merkey <[EMAIL PROTECTED]> 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

Re: zero-copy TCP

2000-09-02 Thread Jeff V. Merkey
The entire Linux Network subsystem needs an overhaul. The code copies data all over the place. I am at present pulling it apart and porting it to MANOS, and what a mess indeed. In NetWare, the only time data ever gets copied from incoming packets is: 1. A copy to userspace at a stream head. 2.

Re: zero-copy TCP

2000-09-02 Thread Jes Sorensen
> "Ingo" == Ingo Molnar <[EMAIL PROTECTED]> writes: Ingo> On Sat, 2 Sep 2000, Dan Maas wrote: >> There are various other tricks that can be done to speed up network >> servers, like passing files directly from the buffer cache to the >> network card. This one is currently frowned upon by the

<    1   2