freebsd with flexible iflib nic queues
Go to file
John Baldwin d7aadbf9ce - Reorder a few things so that when we lock the process at the end of
exit1() we don't have to release it until we acquire schd_lock to
  call cpu_throw().
- Since we can switch at any time due to preemption or a lock release
  prior to acquiring sched_lock, don't update switchtime and switchticks
  until the very end of exit1() after we have acquired sched_lock.
- Interlock the proctree_lock and proc lock in wait1() and exit1() to
  avoid lost wakeups when a parent blocks waiting for a child to exit at
  the bottom of wait1().  In exit1() the proc lock interlocked with
  proctree_lock (and released after acquiring sched_lock) is that of
  the parent process.
- In wait1() use an exclusive lock of proctree lock while we are
  looking for a process to harvest.  This allows us to completely
  remove all references to the process once we've found one (i.e.,
  disconnect it from pgrp's, session's, zombproc list, and it's parent's
  children list) "atomically" without needing to worry about a lock
  upgrade.
- We don't need sched_lock to test if p_stat is SZOMB or SSTOP when holding
  the proc lock since the proc lock is always held with p_stat is set to
  SZOMB or SSTOP.
- Protect nprocs with an xlock of the allproc_lock.
2002-05-02 15:09:58 +00:00
bin Don't cast incorrectly to malloc(3), and don't use errx(3) if malloc(3) 2002-05-02 05:46:37 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r95908, 2002-05-02 04:40:21 +00:00
crypto Usual after-import fixup of SCM IDs. 2002-05-01 22:39:53 +00:00
etc Add a PAM policy for rexecd(8). 2002-05-02 05:05:28 +00:00
games s/-300K/~300K/ 2002-05-01 06:20:57 +00:00
gnu Add support for using the profiled versions of the C++ (and related) libs. 2002-05-01 19:19:22 +00:00
include Spell void * as void * rather than caddr_t. This is complicated by the 2002-04-28 15:18:50 +00:00
kerberos5 Update Heimdal version string to 0.4e. This should have been done when that 2002-04-29 15:31:45 +00:00
kerberosIV Milestone #1 in cross-arch make releases. 2002-04-26 17:55:27 +00:00
lib Add openpam_nullconv.c to SRCS. 2002-05-02 04:42:59 +00:00
libexec PAMify rexecd(8). 2002-05-02 05:06:32 +00:00
release Update a comment to accurately describe the usage of the fourth field 2002-05-01 05:05:31 +00:00
sbin Minor bug fixes uncovered while working on UFS2. 2002-05-02 01:03:06 +00:00
secure Milestone #1 in cross-arch make releases. 2002-04-26 17:55:27 +00:00
share The fourth field of drivers.conf is no longer reserved. Document its 2002-05-01 05:02:56 +00:00
sys - Reorder a few things so that when we lock the process at the end of 2002-05-02 15:09:58 +00:00
tools Un-rot the VOP_ table generator. 2002-05-02 13:51:04 +00:00
usr.bin Add the csplit(1) utility, which splits files based on context, as specified 2002-05-02 07:54:04 +00:00
usr.sbin Make pkg_info working again when argument is a file not in the current 2002-05-02 13:09:33 +00:00
COPYRIGHT
MAINTAINERS Grmf. I really didn't want to do this, but it seems to be the only way 2002-04-25 16:43:58 +00:00
Makefile Milestone #2 in cross-arch make releases. They now work! 2002-04-30 11:50:01 +00:00
Makefile.inc1 Sorted the directories in the rule for the includes target as much as 2002-04-30 23:29:00 +00:00
Makefile.upgrade Removed "env" commands. "sh" is a real shell, so 2002-03-19 05:58:36 +00:00
README Spell "FreeBSD" correctly. 2002-03-26 12:35:49 +00:00
UPDATING Note change for FreeBSD-SA-02:23.stdio. 2002-04-25 14:42:26 +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 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/handbook/synching.html