Subject: Re: uvm and/vs splice() (was: re: Ongoing projects)
To: Brian Buhrow <>
From: Ignatios Souvatzis <>
List: tech-kern
Date: 05/07/1999 21:25:21
On Fri, May 07, 1999 at 11:13:09AM +0000, Brian Buhrow wrote:
> 	Isn't this a faster way of implementing pipes?  pipe(2) is certainly
> gluing file descriptors together for a flow of data between them.
> Splice(2) or the UVM page loan mechanism could be implemented under the
> pipe(2) call couldn't it?


maybe I misunderstood what splice() is supposed to do, but to me it looked
opposite to pipe()...

pipe() creates a pair of connected descriptors. What you (user process) write()
into one, can be read() from the other.

splice() takes two unrelated descriptors (say, d1 and d2) and connects them...
what would otherwise be read(d1)able from the first, is instead move to d2 as if
somebody would read(d1, buffer) and write(d2, buffer) in a loop.