]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Implemented zero-copy TCP/IP extensions via sendfile(2) - send a
authordg <dg@FreeBSD.org>
Thu, 5 Nov 1998 14:28:26 +0000 (14:28 +0000)
committerdg <dg@FreeBSD.org>
Thu, 5 Nov 1998 14:28:26 +0000 (14:28 +0000)
commitb178f74f12a0446656640ae873e0bc71057f5de3
treed66b2ab9c599863a9679de94cdc9514d6a3dbd1d
parent60b560b337fe2a6159e49741372219aa0353da03
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.
15 files changed:
sys/conf/options
sys/conf/param.c
sys/kern/init_sysent.c
sys/kern/subr_param.c
sys/kern/syscalls.c
sys/kern/syscalls.master
sys/kern/uipc_syscalls.c
sys/sys/mbuf.h
sys/sys/socket.h
sys/sys/socketvar.h
sys/sys/syscall-hide.h
sys/sys/syscall.h
sys/sys/syscall.mk
sys/sys/sysproto.h
sys/vm/vm_object.c