freebsd kernel with SKQ
Go to file
jeff 0951f797b2 - Move softdep from using a global worklist to per-mount worklists. This
has many positive effects including improved smp locking, reducing
   interdependencies between mounts that can lead to deadlocks, etc.
 - Add the softdep worklist and various counters to the ufsmnt structure.
 - Add a mount pointer to the workitem and remove mount pointers from the
   various structures derived from the workitem as they are now redundant.
 - Remove the poor-man's semaphore protecting softdep_process_worklist and
   softdep_flushworklist.  Several threads may now process the list
   simultaneously.
 - Add softdep_waitidle() to block the thread until all pending
   dependencies being operated on by other threads have been flushed.
 - Use softdep_waitidle() in unmount and snapshots to block either
   operation until the fs is stable.
 - Remove softdep worklist processing from the syncer and move it into the
   softdep_flush() thread.  This thread processes all softdep mounts
   once each second and when it is called via the new softdep_speedup()
   when there is a resource shortage.  This removes the softdep hook
   from the kernel and various hacks in header files to support it.

Reviewed by/Discussed with:	tegge, truckman, mckusick
Tested by:	kris
2006-03-02 05:50:23 +00:00
bin For pts, print the pts number, instead of the full name. As it was, we ended 2006-02-21 13:02:18 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r156066, 2006-02-27 16:16:18 +00:00
crypto Fix the amd64 (and presumably ia64) lib32 build by ensuring that the 2006-01-02 11:28:42 +00:00
etc Document how to change the polling interval for the 64-bit interface 2006-02-27 16:31:01 +00:00
games Her name was Anne Frank, not Ann Frank. 2006-02-19 21:46:29 +00:00
gnu Correctly locate the character preceeding the matched string in -w 2006-02-19 04:27:39 +00:00
include Const'ify arguments to a couple of functions to fix breakage 2006-02-28 16:02:26 +00:00
kerberos5 Add a new extensible GSS-API layer which can support GSS-API plugins, 2005-12-29 14:40:22 +00:00
lib 1. Fix a race in aio_return. 2006-03-01 23:41:47 +00:00
libexec - Reduce needless DNS query by lookup only appropriate address 2006-03-01 16:13:17 +00:00
release Remove OpenSSH and sendmail update notes; these updates were already 2006-02-26 21:48:50 +00:00
rescue Install nextboot in /rescue as /rescue/nextboot rather than 2005-12-15 18:29:01 +00:00
sbin use standard mode instead of 500 for /sbin/init. 2006-02-28 08:02:28 +00:00
secure Hook audit into OpenSSH. Now that the necessary bits for OpenSSH support 2006-02-12 07:19:45 +00:00
share Note that BUS_DMA_COHERENT currently only affects sparc64 and arm. 2006-03-01 23:56:18 +00:00
sys - Move softdep from using a global worklist to per-mount worklists. This 2006-03-02 05:50:23 +00:00
tools when acpi does not explicitly enumerate lapic/cpu's there should 2006-02-28 17:48:33 +00:00
usr.bin Fix the way in which median is calculated. If the data source has even 2006-02-23 20:46:10 +00:00
usr.sbin Add new NTP servers for Taiwan. 2006-03-01 18:37:41 +00:00
COPYRIGHT Happy new year, a little late 2006-01-15 22:06:10 +00:00
LOCKS Document commit constraints for RELENG_6_*. 2006-01-13 06:51:43 +00:00
MAINTAINERS Remove extra geom_zero. 2005-12-12 01:28:19 +00:00
Makefile Do not discard the current value of __MAKE_CONF when testing 2006-03-01 13:07:17 +00:00
Makefile.inc1 Detect that the "audit" group is missing earlier during install. 2006-02-27 09:17:39 +00:00
ObsoleteFiles.inc - add libxpg4 2006-02-18 16:35:57 +00:00
README Add a note explaining what the rescue/ directory is for. 2006-03-01 20:14:55 +00:00
UPDATING Add a quite late 20051014 entry for the changes in module Makefiles, 2006-02-19 01:05:57 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

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, the kernel-modules and the contents of /etc.  The
``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  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 is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/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 NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


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

contrib		Packages contributed by 3rd parties.

crypto		Cryptography 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.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

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/doc/en_US.ISO8859-1/books/handbook/synching.html