FreeBSD src
Go to file
Peter Wemm e2a5e4efdb Make PV entries dynamic on amd64. i386 has a pre-reserved block of kva
dedicated to storing pv entries, originally so that kva didn't have to be
allocated at inconvenient times.  For amd64, we can get the same effect by
using the direct map area.  Allocating pages is the same as with the object
backed method, but now we can just lookup the page in the direct map area.
Thus, no more pageable kva is reserved.  This is the single largest
consumer of kva on our work machines and this change should help conserve
the fixed size 2GB pageable kva on the amd64 kernel.

There are a pair of sysctl nodes introduced, named the same as their
tunable counterparts.  vm.pmap.shpgperproc and vm.pmap.pv_entry_max
They work just like the tunables of the same path, except the values are
linked.  The pv entry cap is now dynamically changeable.

I didn't make them totally unlimited because we need some sort of safety
limit still.  One could consume all physical memory without a cap.
2006-02-03 00:16:36 +00:00
bin Document that '#' starts a comment. 2006-01-01 16:02:12 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r155131, 2006-01-31 19:40:12 +00:00
crypto Fix the amd64 (and presumably ia64) lib32 build by ensuring that the 2006-01-02 11:28:42 +00:00
etc Install /etc/security configuration files from OpenBSM. 2006-02-02 10:03:43 +00:00
games Clarify time frame of jkh quote. 2006-01-31 21:51:54 +00:00
gnu Don't pollute output when "make" is run with -s. 2006-01-14 20:48:50 +00:00
include Analogous to __printflike and __scanflike, add the macro __format_arg which 2006-01-26 20:53:40 +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 Add libbsm to the library build. 2006-02-02 10:05:39 +00:00
libexec Fix a malloc overrun in 32-bit compat libmap lookup code. 2006-01-31 06:08:28 +00:00
release tweaks to let this configuratio build and run under, e.g., qemu: 2006-01-31 20:36:01 +00:00
rescue Install nextboot in /rescue as /rescue/nextboot rather than 2005-12-15 18:29:01 +00:00
sbin Deny init/attach/setkey subcommands when no key components are given. 2006-02-01 15:01:55 +00:00
secure
share Correct and improve the description of le(4) vs. pcn(4); apparently I 2006-02-02 14:57:00 +00:00
sys Make PV entries dynamic on amd64. i386 has a pre-reserved block of kva 2006-02-03 00:16:36 +00:00
tools Add regression tests which will verify that giving no key components for 2006-02-01 15:17:45 +00:00
usr.bin Don't set time to current, if set to specific time fails 2006-01-31 02:21:18 +00:00
usr.sbin Remove reference to auditon(8), this tool has been superseded by 2006-02-02 11:14:35 +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 Fix a bug in previous revision: skip LINT if it exists, not NOTES 2005-11-28 11:14:36 +00:00
Makefile.inc1
ObsoleteFiles.inc Those files are present on -current (but empty). And they are needed 2006-01-18 18:48:42 +00:00
README
UPDATING Record the change in vnone_create_vobject() argument size, 2006-02-01 13:04:52 +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.

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