diff options
author | dg <dg@FreeBSD.org> | 1998-11-05 14:28:26 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1998-11-05 14:28:26 +0000 |
commit | b178f74f12a0446656640ae873e0bc71057f5de3 (patch) | |
tree | d66b2ab9c599863a9679de94cdc9514d6a3dbd1d /sys/kern/syscalls.master | |
parent | 60b560b337fe2a6159e49741372219aa0353da03 (diff) | |
download | FreeBSD-src-b178f74f12a0446656640ae873e0bc71057f5de3.zip FreeBSD-src-b178f74f12a0446656640ae873e0bc71057f5de3.tar.gz |
Implemented zero-copy TCP/IP extensions via sendfile(2) - send a
file to a stream socket. sendfile(2) is similar to implementations in
HP-UX, Linux, and other systems, but the API is more extensive and
addresses many of the complaints that the Apache Group and others have
had with those other implementations. Thanks to Marc Slemko of the
Apache Group for helping me work out the best API for this.
Anyway, this has the "net" result of speeding up sends of files over
TCP/IP sockets by about 10X (that is to say, uses 1/10th of the CPU
cycles) when compared to a traditional read/write loop.
Diffstat (limited to 'sys/kern/syscalls.master')
-rw-r--r-- | sys/kern/syscalls.master | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index 769988b..c8d62cc 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -1,4 +1,4 @@ - $Id: syscalls.master,v 1.52 1998/06/07 17:11:40 dfr Exp $ + $Id: syscalls.master,v 1.53 1998/08/24 08:29:52 dfr Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; ; System call name/number master file. @@ -468,3 +468,5 @@ 333 STD POSIX { int sched_get_priority_min (int policy); } 334 STD POSIX { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } 335 STD BSD { int utrace(caddr_t addr, size_t len); } +336 STD BSD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ + struct sf_hdtr *hdtr, off_t *sbytes, int flags); } |