freebsd-skq/sys/kern
dg 1707d41102 These changes embody the support of the fully coherent merged VM buffer cache,
much higher filesystem I/O performance, and much better paging performance. It
represents the culmination of over 6 months of R&D.

The majority of the merged VM/cache work is by John Dyson.

The following highlights the most significant changes. Additionally, there are
(mostly minor) changes to the various filesystem modules (nfs, msdosfs, etc) to
support the new VM/buffer scheme.

vfs_bio.c:
Significant rewrite of most of vfs_bio to support the merged VM buffer cache
scheme.  The scheme is almost fully compatible with the old filesystem
interface.  Significant improvement in the number of opportunities for write
clustering.

vfs_cluster.c, vfs_subr.c
Upgrade and performance enhancements in vfs layer code to support merged
VM/buffer cache.  Fixup of vfs_cluster to eliminate the bogus pagemove stuff.

vm_object.c:
Yet more improvements in the collapse code.  Elimination of some windows that
can cause list corruption.

vm_pageout.c:
Fixed it, it really works better now.  Somehow in 2.0, some "enhancements"
broke the code.  This code has been reworked from the ground-up.

vm_fault.c, vm_page.c, pmap.c, vm_object.c
Support for small-block filesystems with merged VM/buffer cache scheme.

pmap.c vm_map.c
Dynamic kernel VM size, now we dont have to pre-allocate excessive numbers of
kernel PTs.

vm_glue.c
Much simpler and more effective swapping code.  No more gratuitous swapping.

proc.h
Fixed the problem that the p_lock flag was not being cleared on a fork.

swap_pager.c, vnode_pager.c
Removal of old vfs_bio cruft to support the past pseudo-coherency.  Now the
code doesn't need it anymore.

machdep.c
Changes to better support the parameter values for the merged VM/buffer cache
scheme.

machdep.c, kern_exec.c, vm_glue.c
Implemented a seperate submap for temporary exec string space and another one
to contain process upages. This eliminates all map fragmentation problems
that previously existed.

ffs_inode.c, ufs_inode.c, ufs_readwrite.c
Changes for merged VM/buffer cache.  Add "bypass" support for sneaking in on
busy buffers.

Submitted by:	John Dyson and David Greenman
1995-01-09 16:06:02 +00:00
..
imgact_aout.c While in the real world, I had a bad case of being swapped out for a lot of 1994-09-25 19:34:02 +00:00
imgact_gzip.c Make the diagnostics a little more useful. 1994-10-22 11:55:16 +00:00
imgact_shell.c While in the real world, I had a bad case of being swapped out for a lot of 1994-09-25 19:34:02 +00:00
inflate.c I belive imgact_gzip is finally reentrant. It is also a whole lot more 1994-10-22 11:40:38 +00:00
init_main.c These changes fix a couple of lingering VM problems: 1994-11-25 07:58:29 +00:00
init_sysent.c Actually enable NTP kernel PLL. (Oops!) 1994-12-14 17:57:47 +00:00
kern_acct.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
kern_clock.c Obtained from: my old fix for 1.1.5 1994-12-12 11:58:46 +00:00
kern_descrip.c Obtained from: my fix for 1.1.5 1994-12-12 12:27:39 +00:00
kern_devconf.c Another part of Bill Paul's fix to swapgeneric to properly use the -a flag. 1994-12-31 17:15:16 +00:00
kern_exec.c These changes embody the support of the fully coherent merged VM buffer cache, 1995-01-09 16:06:02 +00:00
kern_exit.c Fixed multiple bugs that cause null pointers to be followed or FREEed data 1994-12-28 06:15:08 +00:00
kern_fork.c Cosmetics. related to getting prototypes into view. 1994-10-10 01:00:49 +00:00
kern_ktrace.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
kern_lkm.c Don't allow the same MISC module loading more than once.. 1994-10-12 20:28:32 +00:00
kern_lockf.c Changed some variable names in lf_addblock to make the code both 1994-10-25 11:27:51 +00:00
kern_malloc.c These changes embody the support of the fully coherent merged VM buffer cache, 1995-01-09 16:06:02 +00:00
kern_ntptime.c Add vm/vm.h for complete sysctl type. 1994-09-19 17:39:21 +00:00
kern_physio.c These changes embody the support of the fully coherent merged VM buffer cache, 1995-01-09 16:06:02 +00:00
kern_proc.c Cosmetics. related to getting prototypes into view. 1994-10-10 01:00:49 +00:00
kern_prot.c Added ifdef COMPAT_IBCS2 around setre[ug]id. 1994-10-13 20:59:49 +00:00
kern_resource.c Don't allow negative limits at all. Convert them to RLIM_INFINITY instead 1994-12-06 22:53:37 +00:00
kern_sig.c Security nitpicking: don't make *.core world readable 1994-11-06 11:13:02 +00:00
kern_subr.c Added $Id$ 1994-08-02 07:55:43 +00:00
kern_synch.c Don't mess with already freed structures when a process is being run 1994-12-12 06:04:27 +00:00
kern_sysctl.c Fixed multiple bugs that cause null pointers to be followed or FREEed data 1994-12-28 06:15:08 +00:00
kern_tc.c Obtained from: my old fix for 1.1.5 1994-12-12 11:58:46 +00:00
kern_time.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
kern_timeout.c Obtained from: my old fix for 1.1.5 1994-12-12 11:58:46 +00:00
kern_xxx.c Implemented a "TEXT_SET" called 'cleanup_set' which will be called before 1994-12-04 19:58:43 +00:00
Make.tags.inc Added $Id$ 1994-08-02 07:55:43 +00:00
Makefile Added namespace information for future pollution-control measures. 1994-09-13 00:48:26 +00:00
makesyscalls.sh Put a small hack into a large hack named makeyscall.sh. Generate only 1994-11-06 21:57:16 +00:00
md5c.c Added "const" to the arguments here and there. 1994-11-07 20:48:35 +00:00
subr_autoconf.c Added $Id$ 1994-08-02 07:55:43 +00:00
subr_clist.c Fix cblock starvation bugs by reserving enough cblocks for minimal 1994-11-26 19:24:13 +00:00
subr_disklabel.c Print `slicename' and not a bogus pointer in diskerr() 1994-12-22 04:42:31 +00:00
subr_diskmbr.c Change an 0 to WHOLE_DISK_SLICE. 1994-12-30 12:19:11 +00:00
subr_diskslice.c Separate go-away code from dsinit() to produce dsgone(). 1994-12-16 16:14:39 +00:00
subr_dkbad.c subr_diskslice.c implements everything related to slices and labels except 1994-12-12 00:20:34 +00:00
subr_log.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
subr_param.c These changes embody the support of the fully coherent merged VM buffer cache, 1995-01-09 16:06:02 +00:00
subr_prf.c Print "(null)" instead of "<null>" for NULL string args for consistency 1994-12-30 12:17:42 +00:00
subr_prof.c Fix compiler warnings. 1994-09-21 21:58:39 +00:00
subr_rlist.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
subr_rmap.c Added $Id$ 1994-08-02 07:55:43 +00:00
subr_trap.c These changes embody the support of the fully coherent merged VM buffer cache, 1995-01-09 16:06:02 +00:00
subr_xxx.c Added $Id$ 1994-08-02 07:55:43 +00:00
sys_generic.c Damn, check in the wrong version, fixed. 1994-10-13 21:41:36 +00:00
sys_process.c While in the real world, I had a bad case of being swapped out for a lot of 1994-09-25 19:34:02 +00:00
sys_socket.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
syscalls.c Updated to add errno conversion table. (intialize to zero). 1994-10-09 21:58:47 +00:00
syscalls.master Actually enable NTP kernel PLL. (Oops!) 1994-12-14 17:57:47 +00:00
sysv_ipc.c Added SYSV ipcs. 1994-09-13 14:47:38 +00:00
sysv_msg.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
sysv_sem.c Use tsleep() rather than sleep so that 'ps' is more informative about 1994-10-06 21:07:04 +00:00
sysv_shm.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
tty_compat.c Better IXANY/IXOFF processing into setflags. 1994-10-11 20:29:42 +00:00
tty_conf.c Allow for loadable line disciplines (eventually). 1994-10-05 21:22:24 +00:00
tty_cons.c Ooops, i forgot one NVT > 0 in a previous commit. Now pcvt will also 1994-12-18 19:42:41 +00:00
tty_pty.c write ptys use _the_same_ tsleep/wakeup address as read ptys due to 1994-10-29 23:59:48 +00:00
tty_subr.c Fix cblock starvation bugs by reserving enough cblocks for minimal 1994-11-26 19:24:13 +00:00
tty_tb.c Added $Id$ 1994-08-02 07:55:43 +00:00
tty_tty.c don't allow ctty to be set to ctty - infinite kernel recursion 1994-12-04 01:46:13 +00:00
tty.c Fix error handling for new TIOCSDRAINWAIT ioctl. 1995-01-06 14:56:42 +00:00
uipc_domain.c Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de> 1995-01-05 19:51:51 +00:00
uipc_mbuf.c Got rid of map.h. It's a leftover from the rmap code, and we use rlists. 1994-10-09 07:35:18 +00:00
uipc_proto.c Added $Id$ 1994-08-02 07:55:43 +00:00
uipc_sockbuf.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
uipc_socket2.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
uipc_socket.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
uipc_syscalls.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
uipc_usrreq.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
vfs_bio.c These changes embody the support of the fully coherent merged VM buffer cache, 1995-01-09 16:06:02 +00:00
vfs_cache.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
vfs_cluster.c These changes embody the support of the fully coherent merged VM buffer cache, 1995-01-09 16:06:02 +00:00
vfs_conf.c Make a kernel sans FFS possible. 1994-11-12 01:47:43 +00:00
vfs_export.c These changes embody the support of the fully coherent merged VM buffer cache, 1995-01-09 16:06:02 +00:00
vfs_extattr.c From tim@cs.city.ac.uk (Tim Wilkinson): 1994-11-04 14:41:46 +00:00
vfs_init.c Actually implement the functionality documented in sysctl.h for type CTL_FS. 1994-10-20 00:48:28 +00:00
vfs_lookup.c Use tsleep() rather than sleep so that 'ps' is more informative about 1994-10-06 21:07:04 +00:00
vfs_mount.c Make a kernel sans FFS possible. 1994-11-12 01:47:43 +00:00
vfs_subr.c These changes embody the support of the fully coherent merged VM buffer cache, 1995-01-09 16:06:02 +00:00
vfs_syscalls.c From tim@cs.city.ac.uk (Tim Wilkinson): 1994-11-04 14:41:46 +00:00
vfs_vnops.c These changes embody the support of the fully coherent merged VM buffer cache, 1995-01-09 16:06:02 +00:00
vnode_if.pl Added $Id$ 1994-08-02 07:55:43 +00:00
vnode_if.sh Added $Id$ 1994-08-02 07:55:43 +00:00
vnode_if.src Make NFS ask the filesystems for directory cookies instead of making them 1994-09-28 16:45:22 +00:00