freebsd with flexible iflib nic queues
Go to file
Matthew Dillon faa273d5c2 Rip out PQ_ZERO queue. PQ_ZERO functionality is now combined in with
PQ_FREE.  There is little operational difference other then the kernel
    being a few kilobytes smaller and the code being more readable.

    * vm_page_select_free() has been *greatly* simplified.
    * The PQ_ZERO page queue and supporting structures have been removed
    * vm_page_zero_idle() revamped (see below)

    PG_ZERO setting and clearing has been migrated from vm_page_alloc()
    to vm_page_free[_zero]() and will eventually be guarenteed to remain
    tracked throughout a page's life ( if it isn't already ).

    When a page is freed, PG_ZERO pages are appended to the appropriate
    tailq in the PQ_FREE queue while non-PG_ZERO pages are prepended.
    When locating a new free page, PG_ZERO selection operates from within
    vm_page_list_find() ( get page from end of queue instead of beginning
    of queue ) and then only occurs in the nominal critical path case.  If
    the nominal case misses, both normal and zero-page allocation devolves
    into the same _vm_page_list_find() select code without any specific
    zero-page optimizations.

    Additionally, vm_page_zero_idle() has been revamped.  Hysteresis has been
    added and zero-page tracking adjusted to conform with the other changes.
    Currently hysteresis is set at 1/3 (lo) and 1/2 (hi) the number of free
    pages.  We may wish to increase both parameters as time permits.  The
    hysteresis is designed to avoid silly zeroing in borderline allocation/free
    situations.
1999-02-08 00:37:36 +00:00
bin Fix synopsis to match 1003.2. Add text describing the way in which 1999-01-28 17:41:02 +00:00
contrib Remove the standalone buildtools stuff, we don't use it here and it 1999-02-07 09:45:12 +00:00
crypto Old stuff laying around: Don't use getstr which can conflict with some 1998-12-16 06:06:06 +00:00
etc Bruce gently nudged me into doing this right 1999-02-05 22:54:37 +00:00
games Minor adjustments to prior commits: 1999-01-07 22:09:05 +00:00
gnu Add perl5 userland (actually localland) to MANPATH list. 1999-02-04 11:43:10 +00:00
include Removed evil typedef kvm_swap_t and all uses of it (not many). 1999-01-27 11:29:15 +00:00
kerberos5 Link everything against libcrypt. ELF builds complain without it. 1999-01-25 06:49:43 +00:00
kerberosIV Link everything against libcrypt. ELF builds complain without it. 1999-01-25 06:49:43 +00:00
lib Handle case where no swap is configured 1999-02-06 06:31:57 +00:00
libexec Oops, I missed a few more /etc/nologin references yesterday. It appears 1999-01-12 14:09:23 +00:00
release If user selects X, also auto-select compat22 (for now). 1999-02-07 12:57:04 +00:00
sbin Note that nextboot requires the legacy boot code. 1999-02-05 09:58:39 +00:00
secure MaxHeaderLines is now MaxHeadersLength (in bytes) 1999-02-07 09:48:52 +00:00
share - Add atkbd.4, atkbdc.4, splash.4 and vga.4. 1999-02-07 05:40:14 +00:00
sys Rip out PQ_ZERO queue. PQ_ZERO functionality is now combined in with 1999-02-08 00:37:36 +00:00
tools Fix a typo describing the filename of cvt-wtmp. 1999-02-07 20:30:56 +00:00
usr.bin Make the ipx part of netstat work again. 1999-02-06 19:12:48 +00:00
usr.sbin Correct server-side chap authentication comparison 1999-02-07 13:56:29 +00:00
COPYRIGHT Add Id keyword 1998-09-13 23:11:13 +00:00
Makefile Frob the upgrade target to be a bit more inclusive. This appears to 1999-01-26 09:12:21 +00:00
Makefile.inc0 Don't use /usr/obj/elf for make world anymore. 1999-01-14 06:45:53 +00:00
Makefile.inc1 further refine the upgrade process. 1999-01-27 15:08:05 +00:00
Makefile.upgrade further refine the upgrade process. 1999-01-27 15:08:05 +00:00
README No more src/lkm dir... 1999-01-06 14:02:35 +00:00
UPDATING o Add info about Julian's Linux Threads checkin (one of these 1999-01-26 03:13:22 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.13 1998/09/13 09:38:34 markm 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.

crypto		Export controlled 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		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