freebsd-skq/sys/kern
dyson 242e10df11 This set of commits to the VM system does the following, and contain
contributions or ideas from Stephen McKay <syssgm@devetir.qld.gov.au>,
Alan Cox <alc@cs.rice.edu>, David Greenman <davidg@freebsd.org> and me:

	More usage of the TAILQ macros.  Additional minor fix to queue.h.
	Performance enhancements to the pageout daemon.
		Addition of a wait in the case that the pageout daemon
		has to run immediately.
		Slightly modify the pageout algorithm.
	Significant revamp of the pmap/fork code:
		1) PTE's and UPAGES's are NO LONGER in the process's map.
		2) PTE's and UPAGES's reside in their own objects.
		3) TOTAL elimination of recursive page table pagefaults.
		4) The page directory now resides in the PTE object.
		5) Implemented pmap_copy, thereby speeding up fork time.
		6) Changed the pv entries so that the head is a pointer
		   and not an entire entry.
		7) Significant cleanup of pmap_protect, and pmap_remove.
		8) Removed significant amounts of machine dependent
		   fork code from vm_glue.  Pushed much of that code into
		   the machine dependent pmap module.
		9) Support more completely the reuse of already zeroed
		   pages (Page table pages and page directories) as being
		   already zeroed.
	Performance and code cleanups in vm_map:
		1) Improved and simplified allocation of map entries.
		2) Improved vm_map_copy code.
		3) Corrected some minor problems in the simplify code.
	Implemented splvm (combo of splbio and splimp.)  The VM code now
		seldom uses splhigh.
	Improved the speed of and simplified kmem_malloc.
	Minor mod to vm_fault to avoid using pre-zeroed pages in the case
		of objects with backing objects along with the already
		existant condition of having a vnode.  (If there is a backing
		object, there will likely be a COW...  With a COW, it isn't
		necessary to start with a pre-zeroed page.)
	Minor reorg of source to perhaps improve locality of ref.
1996-05-18 03:38:05 +00:00
..
imgact_aout.c First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
imgact_elf.c Removed unnecessary #includes from <sys/imgact.h> so that it is 1996-05-01 02:43:13 +00:00
imgact_gzip.c First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
imgact_shell.c Killed sections 3 and 4 of my copyright as I don't agree with it (I believe 1996-04-08 01:22:00 +00:00
inflate.c Removed unnecessary #includes of vm stuff. Most of them were once 1995-12-06 23:37:44 +00:00
init_main.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
init_sysent.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
init_sysvec.c Mega-commit for Linux emulator update.. This has been stress tested under 1996-03-02 19:38:20 +00:00
kern_acct.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_clock.c Staticize. 1995-12-17 21:23:44 +00:00
kern_conf.c kern_conf.c: remove a now unused variable. 1995-12-22 15:56:35 +00:00
kern_descrip.c Fixed the unit numbers of the devfs `fd' devices. 1996-03-27 19:19:58 +00:00
kern_devconf.c Properly calculate the amount of the devconf to output in SYSCTL_OUT. 1996-01-31 18:05:19 +00:00
kern_exec.c This set of commits to the VM system does the following, and contain 1996-05-18 03:38:05 +00:00
kern_exit.c Spell cpu_switch() with an i in a comment. 1996-04-11 20:56:29 +00:00
kern_fork.c Fix a nasty bug that causes random crashes and lockups particularly on 1996-05-02 11:38:05 +00:00
kern_ktrace.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_lkm.c Removed unnecessary #includes from <sys/imgact.h> so that it is 1996-05-01 02:43:13 +00:00
kern_lockf.c A Major staticize sweep. Generates a couple of warnings that I'll deal 1995-12-14 08:32:45 +00:00
kern_malloc.c Allocate mbufs from a separate submap so that NMBCLUSTERS works as 1996-05-10 19:28:55 +00:00
kern_mib.c Move the "mib" variables out to their own file. 1996-04-07 13:03:06 +00:00
kern_ntptime.c Removed unnecessary #includes of vm stuff. Most of them were once 1995-12-06 23:37:44 +00:00
kern_physio.c devsw tables are now arrays of POINTERS to struct [cb]devsw 1995-12-13 15:13:57 +00:00
kern_proc.c Declared pgrpdump() properly. 1996-04-07 16:16:05 +00:00
kern_prot.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_random.c Use rdtsc() function instead of inline essembler. 1996-04-07 18:16:26 +00:00
kern_resource.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_sig.c Removed unnecessary #includes from <sys/imgact.h> so that it is 1996-05-01 02:43:13 +00:00
kern_subr.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_synch.c Don't generate code for the unused function sleep(). 1996-04-07 13:35:58 +00:00
kern_sysctl.c Fix a longstanding bug and a buglet of no significance. 1996-04-13 13:28:54 +00:00
kern_tc.c Staticize. 1995-12-17 21:23:44 +00:00
kern_time.c Removed never-used #includes of <machine/cpu.h>. Many were apparently 1996-04-07 17:39:28 +00:00
kern_timeout.c Staticize. 1995-12-17 21:23:44 +00:00
kern_xxx.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
Make.tags.inc Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
Makefile Remove bogus architectures to allow make tags to work. 1996-03-31 18:53:43 +00:00
makesyscalls.sh Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
md5c.c Clean a bunch of -Wall warnings. 1995-02-24 08:51:34 +00:00
subr_autoconf.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
subr_clist.c Killed sections 3 and 4 of my copyright as I don't agree with it (I believe 1996-04-08 01:22:00 +00:00
subr_disklabel.c Clean up various compiler warnings. Most (if not all) were benign 1996-05-08 04:29:08 +00:00
subr_diskmbr.c Removed now-unused #includes of <machine/cpu.h>. They were for bootverbose 1996-04-07 17:32:42 +00:00
subr_diskslice.c Fixed removal of devfs entries for the real slice corresponding to the 1996-04-19 19:22:29 +00:00
subr_dkbad.c Fix a bug that b_flags was getting unnecessarily modified by 1996-03-01 19:01:04 +00:00
subr_log.c Fixed name of /dev/fs/klog (it's not "log"). 1996-03-27 19:45:28 +00:00
subr_param.c Allocate mbufs from a separate submap so that NMBCLUSTERS works as 1996-05-10 19:28:55 +00:00
subr_prf.c Correct a comment. There is no fn `kprintf' 1996-05-09 18:58:06 +00:00
subr_prof.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
subr_rlist.c In order to fix some concurrency problems with the swap pager early 1996-03-03 21:11:08 +00:00
subr_trap.c This set of commits to the VM system does the following, and contain 1996-05-18 03:38:05 +00:00
subr_xxx.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
sys_generic.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
sys_pipe.c Various pipe error return fixes, and a significant typeo fix. From 1996-03-25 01:48:28 +00:00
sys_process.c removed: 1996-05-02 14:21:14 +00:00
sys_socket.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
syscalls.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
syscalls.master Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
sysv_ipc.c kern_descrip.c: add fdshare()/fdcopy() 1996-02-23 18:49:25 +00:00
sysv_msg.c Somehow managed to miss these four files when converting the SYSV IPC 1996-01-05 16:38:03 +00:00
sysv_sem.c Somehow managed to miss these four files when converting the SYSV IPC 1996-01-05 16:38:03 +00:00
sysv_shm.c uninitialized auto variable shmseg is used in ... 1996-05-05 13:53:48 +00:00
tty_compat.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
tty_conf.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
tty_cons.c Removed unused #include. 1996-05-01 03:32:46 +00:00
tty_pty.c Fixed the PF_REMOTE case of ptcwrite(). I broke it in rev.1.22. Output 1996-04-11 18:43:37 +00:00
tty_snoop.c Switched from using devfs_add_devsw() to devfs_add_devswf() 1996-03-28 14:31:42 +00:00
tty_subr.c Killed sections 3 and 4 of my copyright as I don't agree with it (I believe 1996-04-08 01:22:00 +00:00
tty_tb.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
tty_tty.c Switched from using devfs_add_devsw() to devfs_add_devswf() 1996-03-28 14:31:42 +00:00
tty.c removed: 1996-05-02 14:21:14 +00:00
uipc_domain.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
uipc_mbuf.c Ups, I removed NMB_INIT too. 1996-05-12 07:48:47 +00:00
uipc_proto.c Clean up various compiler warnings. Most (if not all) were benign 1996-05-08 04:29:08 +00:00
uipc_sockbuf.c Changed socket code to use 4.4BSD queue macros. This includes removing 1996-03-11 15:37:44 +00:00
uipc_socket2.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
uipc_socket.c Make it possible to return more than one piece of control information 1996-05-09 20:15:26 +00:00
uipc_syscalls.c Make it possible to return more than one piece of control information 1996-05-09 20:15:26 +00:00
uipc_usrreq.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_bio.c This set of commits to the VM system does the following, and contain 1996-05-18 03:38:05 +00:00
vfs_cache.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_cluster.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_conf.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_export.c Put the "free vnode isn't" check back in the right place. 1996-03-09 06:43:19 +00:00
vfs_extattr.c Hide options for emulators and static file systems in opt_dontuse.h. 1996-05-11 04:39:53 +00:00
vfs_init.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_lookup.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_mount.c Finished (?) cleaning up sysinit stuff. 1995-12-02 17:11:20 +00:00
vfs_subr.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_syscalls.c Hide options for emulators and static file systems in opt_dontuse.h. 1996-05-11 04:39:53 +00:00
vfs_vnops.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vnode_if.pl Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
vnode_if.sh Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vnode_if.src Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00