freebsd kernel with SKQ
Go to file
Julian Elischer 48bfcddd94 Round out the facilty for a 'bound' thread to loan out its KSE
in specific situations. The owner thread must be blocked, and the
borrower can not proceed back to user space with the borrowed KSE.
The borrower will return the KSE on the next context switch where
teh owner wants it back. This removes a lot of possible
race conditions and deadlocks. It is consceivable that the
borrower should inherit the priority of the owner too.
that's another discussion and would be simple to do.

Also, as part of this, the "preallocatd spare thread" is attached to the
thread doing a syscall rather than the KSE. This removes the need to lock
the scheduler when we want to access it, as it's now "at hand".

DDB now shows a lot mor info for threaded proceses though it may need
some optimisation to squeeze it all back into 80 chars again.
(possible JKH project)

Upcalls are now "bound" threads, but "KSE Lending" now means that
other completing syscalls can be completed using that KSE before the upcall
finally makes it back to the UTS. (getting threads OUT OF THE KERNEL is
one of the highest priorities in the KSE system.) The upcall when it happens
will present all the completed syscalls to the KSE for selection.
2002-10-09 02:33:36 +00:00
bin Do not strip CTL* escapes from redirection filenames in argstr(); they 2002-10-08 11:22:49 +00:00
contrib Further improve --fast-read mode - when reading archive from stdin ensure that 2002-10-02 08:42:06 +00:00
crypto Permit the argument to the -s option to be a hostname. I see no 2002-10-02 00:27:14 +00:00
etc When considering temporary files for deletion, don't examine the mtime 2002-10-06 18:48:20 +00:00
games As back-out requests must be followed, back out the removal of wargames(6) 2002-10-09 01:46:37 +00:00
gnu Added bzip2 variants to the NAME section. 2002-10-07 09:08:07 +00:00
include Remove duplicate uninstalled aio.h header. 2002-10-07 21:18:30 +00:00
kerberos5 Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
kerberosIV Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
lib Add note that there is a kernel-imposed limit on the number of threads 2002-10-08 22:42:42 +00:00
libexec Hook rpc.rstatd back up to the build now that it compiles. 2002-10-02 18:37:11 +00:00
release We now use XFree86-4 packages rather than a special XFree86-3 2002-10-08 05:06:05 +00:00
sbin Fix to support pc98. 2002-10-08 12:13:19 +00:00
secure Don't lint contrib'ed sources, even if the builder has asked for linting. 2002-09-25 09:58:00 +00:00
share FreeBSD 4.7 enters the BSD family tree sometime on October 8, 2002. 2002-10-08 05:25:58 +00:00
sys Round out the facilty for a 'bound' thread to loan out its KSE 2002-10-09 02:33:36 +00:00
tools Use in-tree libbsdxml instead of ports based libexpat. 2002-10-05 13:16:07 +00:00
usr.bin Use __FBSDID in the lst.lib files, to match to main make(1) files. It is 2002-10-09 02:00:22 +00:00
usr.sbin Spell 'Temperature' correctly. 2002-10-08 19:41:12 +00:00
COPYRIGHT
MAINTAINERS Point at myself for reviews on commits to the MAC Framework and 2002-09-01 15:55:38 +00:00
Makefile PC98 is not a true architecture, but a subarchitecture of i386, so we need 2002-10-02 13:52:36 +00:00
Makefile.inc1 Initiate deorbit burn for the i386-only a.out related support. Moves are 2002-09-17 01:49:00 +00:00
Makefile.upgrade Removed "env" commands. "sh" is a real shell, so 2002-03-19 05:58:36 +00:00
README Fix broken handbook links. 2002-07-21 16:45:30 +00:00
UPDATING gcc 3.2 2002-09-03 06:13:43 +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.

kerberosIV	KerberosIV (eBones) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

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