freebsd kernel with SKQ
Go to file
dyson cb2800cd94 Make our v_usecount vnode reference count work identically to the
original BSD code.  The association between the vnode and the vm_object
no longer includes reference counts.  The major difference is that
vm_object's are no longer freed gratuitiously from the vnode, and so
once an object is created for the vnode, it will last as long as the
vnode does.

When a vnode object reference count is incremented, then the underlying
vnode reference count is incremented also.  The two "objects" are now
more intimately related, and so the interactions are now much less
complex.

When vnodes are now normally placed onto the free queue with an object still
attached.  The rundown of the object happens at vnode rundown time, and
happens with exactly the same filesystem semantics of the original VFS
code.  There is absolutely no need for vnode_pager_uncache and other
travesties like that anymore.

A side-effect of these changes is that SMP locking should be much simpler,
the I/O copyin/copyout optimizations work, NFS should be more ponderable,
and further work on layered filesystems should be less frustrating, because
of the totally coherent management of the vnode objects and vnodes.

Please be careful with your system while running this code, but I would
greatly appreciate feedback as soon a reasonably possible.
1998-01-06 05:26:17 +00:00
bin Correct a bogon in an example. 1998-01-02 19:23:05 +00:00
contrib Remove library funcs we already have 1998-01-04 20:45:41 +00:00
crypto MFC: no \n in syslog strings. Change -P to -p in flags. EOF -> -1. Use err(3). 1997-12-08 07:41:13 +00:00
etc Suppress banner pages by default and add a note describing how to 1998-01-04 17:59:24 +00:00
games Fix phantasia. 1998-01-05 17:28:01 +00:00
gnu PR: gnu/4385 1998-01-05 11:32:39 +00:00
include unborkify osreldate.h install (change \ to / - someone was in DOS mode! ;) 1998-01-02 09:39:12 +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 Convert to mdoc format. 1998-01-05 07:12:16 +00:00
libexec Typo fix: bootgw -> bootpgw 1997-12-29 13:59:28 +00:00
lkm Fix my typo. 1997-12-16 22:50:18 +00:00
release Mention moused and mouse drivers update. 1998-01-05 12:38:54 +00:00
sbin Display a better error message and use a non-zero exit code when 1998-01-06 00:11:57 +00:00
secure Staticise a variable. 1997-10-08 07:02:48 +00:00
share Add Latin LC_TIME file. 1998-01-06 00:54:33 +00:00
sys Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
tools Add html-mv script. Html-mv rename HTML generated filenames to 1997-11-09 11:23:54 +00:00
usr.bin 1. Don't be confused if the first day of a month is dropped due to 1998-01-06 00:46:11 +00:00
usr.sbin Correct the return value of ReportProtStatus() ("show proto"). 1998-01-06 00:58:31 +00:00
COPYRIGHT This is the official 4.4 Lite copyright. 1994-09-11 07:53:28 +00:00
Makefile Do not use -B in initial build of "make". It doesn't exist in 2.1.x. 1997-10-10 13:02:36 +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