freebsd-skq/sys/kern
David Greenman dd0b2081f4 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.
1998-11-05 14:28:26 +00:00
..
bus_if.m Document BUS_CREATE_INTR and BUS_CONNECT_INTR. 1998-09-16 08:25:56 +00:00
device_if.m [Add missing files from previous commit] 1998-06-14 13:53:12 +00:00
imgact_aout.c *gulp*. Jordan specifically OK'ed this.. 1998-10-16 03:55:01 +00:00
imgact_elf.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
imgact_gzip.c *gulp*. Jordan specifically OK'ed this.. 1998-10-16 03:55:01 +00:00
imgact_shell.c *gulp*. Jordan specifically OK'ed this.. 1998-10-16 03:55:01 +00:00
inflate.c Last major round (Unless Bruce thinks of somthing :-) of malloc changes. 1997-10-12 20:26:33 +00:00
init_main.c Fix sysinit_add(). 1998-10-15 17:09:19 +00:00
init_sysent.c Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
kern_acct.c Moved limit frobbing (and the resulting limcopy()) that occurs for 1998-06-05 21:44:20 +00:00
kern_clock.c Fixed breakage of the GPROF case of statclock() in the previous commit. 1998-10-26 06:13:18 +00:00
kern_conf.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
kern_descrip.c Fixed printf format errors. 1998-07-29 17:38:14 +00:00
kern_environment.c Don't try to initialise the environment out of a sysinit, it's handled 1998-10-09 21:21:34 +00:00
kern_exec.c Added a second argument, "activate" to the vm_page_unwire() call so that 1998-10-28 13:37:02 +00:00
kern_exit.c Moved limit frobbing (and the resulting limcopy()) that occurs for 1998-06-05 21:44:20 +00:00
kern_fork.c VM level code cleanups. 1998-01-22 17:30:44 +00:00
kern_intr.c Start using the new SWI registration system instead of hardwiring everything. 1998-09-26 14:25:32 +00:00
kern_ktrace.c Don't depend on "implicit int". 1998-02-20 13:37:40 +00:00
kern_linker.c The handle for the kernel is common. With this fix, ELF kernels can load 1998-11-04 15:20:58 +00:00
kern_lkm.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
kern_lock.c Really finish supporting compiling with `gcc -ansi'. 1998-04-17 04:53:44 +00:00
kern_lockf.c Fixed printf format errors. 1998-07-29 17:38:14 +00:00
kern_malloc.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
kern_mib.c - hw.machine_arch returns cpu architecture type. 1998-08-31 08:41:58 +00:00
kern_module.c *gulp*. Jordan specifically OK'ed this.. 1998-10-16 03:55:01 +00:00
kern_ntptime.c Introduce std_pps_ioctl() to automagically DTRT. 1998-06-13 09:30:26 +00:00
kern_physio.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
kern_proc.c Fixed printf format errors. 1998-07-11 07:46:16 +00:00
kern_prot.c 64bit fixes: use size_t not u_int for sizes. 1998-06-10 10:28:29 +00:00
kern_random.c Converted add_interrupt_randomness() to take a `void *' arg. Rewrote 1998-06-21 11:33:32 +00:00
kern_resource.c Fixed double counting of runtime after a process exits. The last 1998-07-27 19:16:21 +00:00
kern_shutdown.c Add the ability to specify where on the at_shutdown queue a handler is 1998-10-30 05:41:15 +00:00
kern_sig.c Eliminate a superfluous comment. 1998-10-21 16:31:38 +00:00
kern_subr.c remove nonsense code. 1998-08-04 09:21:04 +00:00
kern_synch.c Oops, back out some local changes that shouldn't have been in the 1998-10-25 20:11:36 +00:00
kern_sysctl.c *gulp*. Jordan specifically OK'ed this.. 1998-10-16 03:55:01 +00:00
kern_tc.c Fixed breakage of the GPROF case of statclock() in the previous commit. 1998-10-26 06:13:18 +00:00
kern_threads.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
kern_time.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
kern_timeout.c Fixed stale references to hzto() in comments. 1998-05-17 20:08:05 +00:00
kern_xxx.c Change various syscalls to use size_t arguments instead of u_int. 1998-08-24 08:39:39 +00:00
ksched.c 1. Add new defs for mins and maxs for the POSIX flavor priorities. They 1998-05-19 21:11:53 +00:00
link_aout.c The handle for the kernel is common. With this fix, ELF kernels can load 1998-11-04 15:20:58 +00:00
link_elf_obj.c The handle for the kernel is common. With this fix, ELF kernels can load 1998-11-04 15:20:58 +00:00
link_elf.c The handle for the kernel is common. With this fix, ELF kernels can load 1998-11-04 15:20:58 +00:00
Make.tags.inc Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
makedevops.pl A Perl5 version of makedevops.sh. Fixes a bug in the sh/awk version 1998-10-29 01:52:59 +00:00
makedevops.sh Use the interface name as well as the method name when creating the method 1998-10-15 09:50:45 +00:00
Makefile Remove bogus architectures to allow make tags to work. 1996-03-31 18:53:43 +00:00
makesyscalls.sh Add trailing newline to sys/syscall.mk so that diff doesn't choke on it. 1998-06-28 10:01:52 +00:00
md5c.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
p1003_1b.c Set PAGE_SIZE for _SC_PAGESIZE sysconf(). 1998-06-01 21:54:43 +00:00
posix4_mib.c Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and 1998-03-28 11:51:01 +00:00
subr_autoconf.c Removed an unused #include. Ifdefed a conditionally used #include. 1997-11-18 12:43:41 +00:00
subr_bus.c Lots of debugging code and some bugfixes. 1998-10-27 09:21:43 +00:00
subr_clist.c Cast pointers to uintptr_t/intptr_t instead of to u_long/long, 1998-07-15 02:32:35 +00:00
subr_devstat.c Disable the 'devstat_end_transaction' busy count printf until after 3.0 1998-10-14 20:44:05 +00:00
subr_disklabel.c Use only the correct raw partition for writing labels. Don't use the 1998-10-17 07:49:04 +00:00
subr_diskmbr.c The machine dependent disk slice manager does not recognize 1998-08-10 07:22:14 +00:00
subr_diskslice.c Overload the correct errno for attempts to set an in-core label with 1998-10-17 09:46:42 +00:00
subr_dkbad.c In all such uses of struct buf: 's/b_un.b_addr/b_data/g' 1997-12-02 21:07:20 +00:00
subr_log.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
subr_module.c Align to sizeof(long) rather than sizeof(int32_t). It needs to be 1998-10-14 05:07:23 +00:00
subr_param.c Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
subr_prf.c Store formatted panic string in static buffer to make it available later 1998-09-06 06:25:18 +00:00
subr_prof.c Fixed bogotification of pseudocode for syscall args by rev.1.53 of 1998-09-05 14:30:11 +00:00
subr_rlist.c Move assignment of cur_rlp to after the acquisition of the list lock. 1998-08-05 14:06:04 +00:00
subr_rman.c The new resource manager, hopefully in a reasonably stable form. 1998-10-29 01:48:36 +00:00
subr_smp.c mp_machdep.c: Set a vector to boot code (PC-98). 1998-10-10 13:37:16 +00:00
subr_trap.c Fixed printf format errors. 1998-08-23 10:16:26 +00:00
subr_xxx.c Moved `nx' functions to the one place where they are used (su.c). 1998-08-20 06:10:42 +00:00
sys_generic.c Fixed bogotification of pseudocode for syscall args by rev.1.53 of 1998-09-05 14:30:11 +00:00
sys_pipe.c Added a second argument, "activate" to the vm_page_unwire() call so that 1998-10-28 13:37:02 +00:00
sys_process.c Only access an int for READU/WRITEU since that is what ptrace is declared to 1998-07-29 18:41:30 +00:00
sys_socket.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
syscalls.c Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
syscalls.master Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
sysv_ipc.c Removed an unused #include. Added an unsed #include of <sys/ucred.h> 1997-11-18 12:52:10 +00:00
sysv_msg.c Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
sysv_sem.c Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
sysv_shm.c Fixed two potentially serious classes of bugs: 1998-10-13 08:24:45 +00:00
tty_compat.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
tty_conf.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
tty_cons.c Added D_TTY to the cdevswitch flags for all tty drivers. This is required 1998-08-23 08:26:42 +00:00
tty_pty.c Added D_TTY to the cdevswitch flags for all tty drivers. This is required 1998-08-23 08:26:42 +00:00
tty_snoop.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
tty_subr.c Cast pointers to uintptr_t/intptr_t instead of to u_long/long, 1998-07-15 02:32:35 +00:00
tty_tb.c Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
tty_tty.c Added D_TTY to the cdevswitch flags for all tty drivers. This is required 1998-08-23 08:26:42 +00:00
tty.c A limit of 200000 for the output buffer high watermark was excessive, 1998-08-19 04:01:00 +00:00
uipc_domain.c Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00
uipc_mbuf.c Only call m_reclaim() if M_WAIT since calling it from an interrupt can 1998-07-27 03:59:48 +00:00
uipc_proto.c Yow! Completely change the way socket options are handled, eliminating 1998-08-23 03:07:17 +00:00
uipc_sockbuf.c Fix sbcheck() to check all packets on socket buffer. 1998-11-04 20:22:11 +00:00
uipc_socket2.c Fix sbcheck() to check all packets on socket buffer. 1998-11-04 20:22:11 +00:00
uipc_socket.c Bow to tradition and correctly implement the bogus-but-hallowed semantics 1998-08-31 18:07:23 +00:00
uipc_syscalls.c Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
uipc_usrreq.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
vfs_aio.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
vfs_bio.c Use TAILQ macros for clean/dirty block list processing. Set b_xflags 1998-10-31 15:31:29 +00:00
vfs_cache.c Don't use CTL_VFS at the wrong level. This caused loops in the sysctl 1998-09-09 07:41:41 +00:00
vfs_cluster.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
vfs_conf.c Remove the SLICE code. 1998-09-14 19:56:42 +00:00
vfs_default.c VOP_STRATEGY grows an (struct vnode *) argument 1998-07-04 20:45:42 +00:00
vfs_export.c Convert lists for bufs attached to vnodes from a LIST to a TAILQ. 1998-10-31 14:20:39 +00:00
vfs_extattr.c make mount(2) automatically kldload modules if the requested filesystem 1998-11-03 14:29:09 +00:00
vfs_init.c General tidy up: remove more unused code, update comments, simplify some 1998-11-04 03:18:10 +00:00
vfs_lookup.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
vfs_mount.c Remove the SLICE code. 1998-09-14 19:56:42 +00:00
vfs_subr.c Convert lists for bufs attached to vnodes from a LIST to a TAILQ. 1998-10-31 14:20:39 +00:00
vfs_syscalls.c make mount(2) automatically kldload modules if the requested filesystem 1998-11-03 14:29:09 +00:00
vfs_vnops.c Only do one VOP_ACCESS() per open() instead of two. This should reduce 1998-11-02 02:36:16 +00:00
vnode_if.pl VOP_STRATEGY grows an (struct vnode *) argument 1998-07-04 20:45:42 +00:00
vnode_if.sh VOP_STRATEGY grows an (struct vnode *) argument 1998-07-04 20:45:42 +00:00
vnode_if.src Add a new vnode op, VOP_FREEBLKS(), which filesystems can use to inform 1998-09-05 14:13:12 +00:00