FreeBSD src
Go to file
truckman a233f9bd24 Remove uidinfo hash table lookup and maintenance out of chgproccnt() and
chgsbsize(), which are called rather frequently and may be called from an
interrupt context in the case of chgsbsize().  Instead, do the hash table
lookup and maintenance when credentials are changed, which is a lot less
frequent.  Add pointers to the uidinfo structures to the ucred and pcred
structures for fast access.  Pass a pointer to the credential to chgproccnt()
and chgsbsize() instead of passing the uid.  Add a reference count to the
uidinfo structure and use it to decide when to free the structure rather
than freeing the structure when the resource consumption drops to zero.
Move the resource tracking code from kern_proc.c to kern_resource.c.  Move
some duplicate code sequences in kern_prot.c to separate helper functions.
Change KASSERTs in this code to unconditional tests and calls to panic().
2000-09-05 22:11:13 +00:00
bin Fix style bugs and poor wording introduced in rev 1.12. 2000-08-17 16:09:27 +00:00
contrib Fix bug that causes gawk to choke when parsing long source files. 2000-09-04 10:42:19 +00:00
crypto ttyname was not being passed into do_login(), so we were erroneously picking 2000-09-04 08:43:05 +00:00
etc Add acap, as per IANA. 2000-09-05 08:24:01 +00:00
games BDECFLAGS (with a whitespace change or two) 2000-08-29 03:25:49 +00:00
gnu Fixes and cleanups to the perl build; don't error out when NOCLEAN is 2000-08-20 10:03:26 +00:00
include Move setproctitle() from libutil to libc (after a repo-copy) 2000-09-02 01:51:36 +00:00
kerberos5 Fix ordering for real this time. 2000-08-30 03:44:30 +00:00
kerberosIV Remove the last vestiges of libRSAglue now that it's an empty stub. 2000-03-11 22:34:10 +00:00
lib Document %-macros and NLSPATH better. 2000-09-05 19:14:34 +00:00
libexec strerror is declared in <string.h> 2000-09-04 05:48:09 +00:00
release Note the MFC of ATA100 support into the ata(4) driver and update the 2000-09-05 21:36:50 +00:00
sbin I'm not sure what changed to cause this, but using 'dirname' as a variable 2000-09-03 07:02:00 +00:00
secure Err, we weren't even compiling auth1.c with LOGIN_CAP at all. Guess nobody 2000-09-02 07:32:05 +00:00
share Good thing about these examples is that no one uses them, so they can 2000-09-05 16:30:09 +00:00
sys Remove uidinfo hash table lookup and maintenance out of chgproccnt() and 2000-09-05 22:11:13 +00:00
tools Make this work with current makefiles again. 2000-08-21 14:42:48 +00:00
usr.bin When we have both a rcsid and sccsid, ifdef 0 the sccsid. This 2000-09-04 06:11:25 +00:00
usr.sbin enable sshd by default. This only effects *new* installs, so 2000-09-04 15:50:15 +00:00
COPYRIGHT Update to add the July 22, 1999 addendum. 1999-09-05 21:33:47 +00:00
Makefile Mention the buildkernel/installkernel targets in the documentation. 2000-07-31 09:26:59 +00:00
Makefile.inc1 Allow one to specify what the installed kernel's name is by setting 2000-09-03 02:58:39 +00:00
Makefile.upgrade $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
README Slightly improve the description of "crypto". "DES" is a subset of 2000-08-31 17:59:01 +00:00
UPDATING Add a note about /etc/aliases moving /etc/mail/aliases and the problems 2000-09-04 21:09:01 +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/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 have to build
world before.  More information is available in the handbook.

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

kerberosIV	Kerberos 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/handbook/synching.html