Re: Thread implementations...

Martin Mares (mj@atrey.karlin.mff.cuni.cz)
Wed, 24 Jun 1998 11:50:11 +0200


Hi,

> For something like (al la PH-UX):
>
> ssize_t sendfile(int s, int fd, off_t offset, size_t nbytes,
> const struct iovec *hdtrl, int flags);
>
> where s is the NETWORK socket, fd is the FILESYSTEM file descriptor.

What about adding a syscall to _copy_ data from one file descriptor
to another one, supporting not only sockets, but also plain files.
Advantages:

* File blocks can be copied without passing them to/from user
space.

* With some support in file systems, we can convert block-aligned
copies directly to buffer cache operations, potentially using
SCSI block copy operations).

* We can also implement socket-to-file, file-to-pipe and several
other interesting cases without introducing YAS (Yet Another
Syscall).

Have a nice fortnight

-- 
Martin `MJ' Mares   <mj@ucw.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
"Compatible: Gracefully accepts erroneous data from any source."

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu