As has been mentioned previously, if we add a fairly generic syscall
ssize_t copy(int fromfd, int tofd, size_t len)
then this will be useful to a lot of applications, not only Web servers, but
even file managers, cat, etc. And web servers really spend horrible long
time in copying data from files to the wire.
Such a system call could open a wide range of slick tricks, like the SCSI
to SCSI copy with a SCSI command without ever reaching memory, or by
implementing COW buffers, one could do zero-copy file copying: during copy,
just create new buffer-heads and point them to the same b_data and mark them
as COW, thus save memory and the numerous copying. I think some kind of COW
for buffer cache will be needed anyways for journaling, so this would be
just another use...
Cheers,
Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
Ultralinux - first 64bit OS to take full power of the UltraSparc
Linux version 2.1.106 on a sparc64 machine (498.80 BogoMips).
___________________________________________________________________
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu