Re: zero-copy TCP fileserving

Alan Cox (alan@lxorguk.ukuu.org.uk)
Fri, 4 Jun 1999 22:07:15 +0100 (BST)


> While I applaud Linus for sticking to his philosophical guns, I hope
> that few people are compelled to ignore 20 years of networking and
> OS research (and practice) based on his misinformed commentary.

A while ago I also did the research. Linus is right for most cases, and the
cases that matter otherwise are streaming existing data - ie sendfile. Thats
all you really need to be zero copy. That and message passing, which is a
different game (there its almost pure latency not bandwidth) but with the
same needs.

> server -- although it did not support CGI scripts (much like NetApp's
> servers don't), it did in fact do HTTP/1.0 for real. Far more importantly,
> though, web service can in fact benefit significantly from zero-copy
> techniques. If you choose to ignore the lessons taught by the exokernel

Static web serving is shipping canned responses off disk (or hopefully out
of disk cache). NFS is canned responses, video streaming is canned
responses. All of this is 'slap on a header and dump the disk to the
network card'. Everything else is cache optimisation.

Thus Im not actually sure you are disagreeing, just your definition
of 'canned' is different.

> work, perhaps you will be more compelled by the more recent Rice work
> (IO-lite, which won Best Paper at the recent OSDI'99 conference).

IO-lite type stuff is on the 2.3 plan - thats why Stephen is working on the
kiovec stuff.

> Further, other domains (e.g., IPC, high-speed I/O, cluster computing)
> benefit significantly from zero-copy cross-domain transfers. There
> are any number of research projects (e.g., U-net, Fbufs) and industry
> efforts (e.g., VIA, SiliconTCP) that clearly demonstrate the importance
> of copy avoidance.

They are almost entirely based on message passing. Anyone can do zero
copy message passing with clever hardware. Thats what VI architecture is
(dont call it VIA, they are a chip manufacturer and quite fed up of being
confused)

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/