Find a file
John Dyson 2d8acc0f4a VM level code cleanups.
1)	Start using TSM.
	Struct procs continue to point to upages structure, after being freed.
	Struct vmspace continues to point to pte object and kva space for kstack.
	u_map is now superfluous.
2)	vm_map's don't need to be reference counted.  They always exist either
	in the kernel or in a vmspace.  The vmspaces are managed by reference
	counts.
3)	Remove the "wired" vm_map nonsense.
4)	No need to keep a cache of kernel stack kva's.
5)	Get rid of strange looking ++var, and change to var++.
6)	Change more data structures to use our "zone" allocator.  Added
	struct proc, struct vmspace and struct vnode.  This saves a significant
	amount of kva space and physical memory.  Additionally, this enables
	TSM for the zone managed memory.
7)	Keep ioopt disabled for now.
8)	Remove the now bogus "single use" map concept.
9)	Use generation counts or id's for data structures residing in TSM, where
	it allows us to avoid unneeded restart overhead during traversals, where
	blocking might occur.
10)	Account better for memory deficits, so the pageout daemon will be able
	to make enough memory available (experimental.)
11)	Fix some vnode locking problems. (From Tor, I think.)
12)	Add a check in ufs_lookup, to avoid lots of unneeded calls to bcmp.
	(experimental.)
13)	Significantly shrink, cleanup, and make slightly faster the vm_fault.c
	code.  Use generation counts, get rid of unneded collpase operations,
	and clean up the cluster code.
14)	Make vm_zone more suitable for TSM.

This commit is partially as a result of discussions and contributions from
other people, including DG, Tor Egge, PHK, and probably others that I
have forgotten to attribute (so let me know, if I forgot.)

This is not the infamous, final cleanup of the vnode stuff, but a necessary
step.  Vnode mgmt should be correct, but things might still change, and
there is still some missing stuff (like ioopt, and physical backing of
non-merged cache files, debugging of layering concepts.)
1998-01-22 17:30:44 +00:00
bin Removed definition of _NEW_VFSCONF. The new vfsconf interface is now 1998-01-20 10:40:18 +00:00
contrib MFC: sprintf paranoia 1998-01-22 00:04:57 +00:00
crypto MFC: sprintf paranoia 1998-01-22 00:04:57 +00:00
etc Add an example for busy mail servers, commented out. 1998-01-18 22:28:06 +00:00
games Fixed long lines in install rule. Fixed other bogons while I was here: 1998-01-16 09:43:47 +00:00
gnu Add PATCH_INDEX_FIRST environment variable to do the same as -I option 1998-01-22 07:44:04 +00:00
include Suggested by: bde 1998-01-20 09:09:24 +00:00
kerberos5 Fix a break in the includes where the build blows chunks if it is 1997-10-02 15:03:23 +00:00
kerberosIV Link this against -lcrypt. In the case where the user has no key available 1997-10-24 16:27:46 +00:00
lib Don't swap carriage return and new line in quoted mode (after ^V). 1998-01-22 07:37:10 +00:00
libexec Merged just enough files from Lite2 in lfs_cleanerd to convert from 1998-01-20 14:41:53 +00:00
lkm Include <machine/pc/display.h>, not <i386/include/pc/display.h>. This is 1998-01-16 17:58:55 +00:00
release Mention LS-120 drives. 1998-01-22 07:28:22 +00:00
sbin Converted to Lite2 mount interface - use vfc_typenum from the 1998-01-20 15:22:27 +00:00
secure Staticise a variable. 1997-10-08 07:02:48 +00:00
share FreeBSD's make knows about the MACHINE, but not the MACHINE_ARCH unless 1998-01-21 01:03:51 +00:00
sys VM level code cleanups. 1998-01-22 17:30:44 +00:00
tools Don't install the tcl implementation headers. The tcl distribution 1998-01-17 15:52:32 +00:00
usr.bin Printers under FreeBSD are /dev/lpt* 1998-01-22 02:44:54 +00:00
usr.sbin Add rcsid. Add usage() with up to date flag list. Use err(3). 1998-01-22 07:28:26 +00:00
COPYRIGHT This is the official 4.4 Lite copyright. 1994-09-11 07:53:28 +00:00
Makefile Test for ${MACHINE} == "alpha" and include the bootstrap makefile instead 1998-01-11 04:51:02 +00:00
Makefile.alpha This makefile provides a bootstrap installation of FreeBSD on an installed 1998-01-11 04:46:02 +00:00
README Note that /etc is not installed by world target either. 1997-08-09 14:36:20 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.10 1997/02/23 09:18:39 peter Exp $

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel and the contents of /etc.  Please see the top of the Makefile
in this directory for more information on the standard build targets
and compile-time flags.

Building a kernel with config(8) is a somewhat more involved process,
documentation for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.

The sample kernel configuration files reside in the sys/i386/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file LINT contains entries for all possible devices, not
just those commonly used, and is meant more as a general reference
than an actual kernel configuration file (a kernel built from it
wouldn't even run).


Source Roadmap:
---------------
bin		System/User commands.

contrib		Packages contributed by 3rd parties.

eBones		Kerberos package - NOT FOR EXPORT!

etc		Template files for /etc

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

lib		System libraries.

libexec		System daemons.

lkm		Loadable Kernel Modules.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		DES and DES-related utilities - NOT FOR EXPORT!

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/handbook/synching.html