[LWN Logo]
[Timeline]
Date:	Sat, 02 Sep 2000 15:25:48 -0600
From:	"Jeff V. Merkey" <jmerkey@timpanogas.com>
To:	Jes Sorensen <jes@linuxcare.com>
Subject: Re: zero-copy TCP


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.  An incoming write that gets copied into the file cache.

Reads from cache are never copied.  In fact, the network server locks a
file cache page and sends it unaltered to the network drivers and DMA's
directly from it.  Since NetWare has WTD's these I/O requests get
processed at the highest possible priority.  In networking, the enemy is
LATENCY for fast performance.  That's why NetWare can handle 5000 users
and Linux barfs on 100 in similiar tests.  Copying increases latency,
and the long code paths in the Linux Network layer.

Jeff