Re: zero-copy TCP fileserving

Zach Brown (zab@zabbo.net)
Thu, 3 Jun 1999 11:05:24 -0400 (EDT)


On Thu, 3 Jun 1999, Bjorn Wesen wrote:

> Exactly - the server mmap()'s the file but never actually accesses any
> data. The socket write buffer addresses are translated by the kernel and
> the needed pages are read in (if not already in mem) subsequently and
> locked as the sending progresses, but all that is done in the kernels MMU
> context so there shouldn't be any need to access the original process
> context.

why screw with any of that? sendfile() is quite good at this.

> Since the process sleeps while doing the write(), it cannot munmap or do
> nasty things to the mapping I guess. But the above is probably more
> complicated than it sounds :)

indeed it is, as davem mentioned. think about retransmits, threads, etc.

this all has been discussed (most recently at the expo ;)), work is in
progress..

-- zach

- - - - - -
007 373 5963

-
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/