FreeBSD src
Go to file
dillon 84aafb2de7 The hash table used to be a table of doubly-link list headers ( two
pointers per entry ).  The table has been changed to a singly linked
    list of vm_page_t pointers.  The table has been doubled in size, but
    the entries only take half the space so a net-zero change in memory use.

    The hash function has been changed, hopefully for the better.  The
    combination of the larger hash table size of changed function should
    keep the chain length down to a reasonable number (0-3, average 1).

    vm_object->page_hint has been removed.  This 'optimization' was not
    only never needed, but costs as much as a hash chain link to implement.
    While having page_hint in vm_object might result in better locality
    of reference, the cost is not worth the space in vm_object or the
    extra instructions in my view.

    vm_page_alloc*() functions have been inlined and call a generalized
    non-inlined vm_page_alloc_toq() which combines the standard alloc
    and zero-page alloc functions together, reducing code size and the L1
    cache footprint.  Some reordering has been done... not much.  The
    delinking code should be faster ( because unlinking a doubly-linked list
    requires four memory ops and unlinking a singly linked list only requires
    two ), and we get a hash consistancy check for free.

    vm_page_rename() now automatically sets the page's dirty bits.

    vm_page_alloc() does not try to manually inline freeing a cache page.
    Instead, it now properly calls vm_page_free(m) ... vm_page_free() is
    really too complex to manually inline.

    vm_await(), supporting asleep(), has been added.
1999-01-21 10:01:49 +00:00
bin Example "19%y" changed to "%Y" to discourage poor usage. 1999-01-13 07:01:07 +00:00
contrib Make it possible to use PAM in statically-linked applications. 1999-01-20 21:55:30 +00:00
crypto Old stuff laying around: Don't use getstr which can conflict with some 1998-12-16 06:06:06 +00:00
etc nuke dset from here. 1999-01-20 12:30:13 +00:00
games Minor adjustments to prior commits: 1999-01-07 22:09:05 +00:00
gnu Fixed ifdef for libintl in previous commit (the location of libintl.a's 1999-01-20 02:08:07 +00:00
include Add a prototype for strtok_r(). 1999-01-20 21:21:26 +00:00
kerberos5 While I am no longer making a shared library, nuke the old one to prevent 1998-08-30 13:08:54 +00:00
kerberosIV The strtok_r() function is in libc now, so use it. 1999-01-20 21:24:28 +00:00
lib Rename some globals to reduce namespace pollution. 1999-01-20 22:50:37 +00:00
libexec Oops, I missed a few more /etc/nologin references yesterday. It appears 1999-01-12 14:09:23 +00:00
release Set JADETEX=no on ports build line. 1999-01-20 23:24:06 +00:00
sbin Update to reflect major changes in vinum kernel module 1999-01-21 00:45:11 +00:00
secure Update for 8.9.2 (new file, control.c) 1999-01-12 12:47:54 +00:00
share Update to reflect changes in kernel module 1999-01-21 00:55:28 +00:00
sys The hash table used to be a table of doubly-link list headers ( two 1999-01-21 10:01:49 +00:00
tools Add the 'diffburst' tool, which does the following: 1999-01-07 19:28:57 +00:00
usr.bin Allow login to be linked statically even when PAM is used, since 1999-01-20 21:58:46 +00:00
usr.sbin Update pstat -s to handle both old and new swapper. 1999-01-21 08:08:55 +00:00
COPYRIGHT Add Id keyword 1998-09-13 23:11:13 +00:00
Makefile Dip my toes into the fire and zap the leftover lkm hooks.. It seems they 1998-12-28 17:03:50 +00:00
Makefile.inc0 Don't use /usr/obj/elf for make world anymore. 1999-01-14 06:45:53 +00:00
Makefile.inc1 Help for Perl5 to make in cross-build environments. 1999-01-20 05:45:57 +00:00
Makefile.upgrade The upgrade process from 2.2.x -> 3.0-ELF assumes the existence of 1999-01-07 07:20:41 +00:00
README No more src/lkm dir... 1999-01-06 14:02:35 +00:00
UPDATING Add note about the need to reconfigure kernel for some new syscons 1999-01-19 21:04:22 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.13 1998/09/13 09:38:34 markm 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.

crypto		Export controlled stuff (see crypto/README).

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.

kerberosIV	Kerberos package.

lib		System libraries.

libexec		System daemons.

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