freebsd with flexible iflib nic queues
Go to file
Bosko Milekic b053bc8407 Make sure that when the PV ENTRY zone is created in pmap, that it's
created not only with UMA_ZONE_VM but also with UMA_ZONE_NOFREE.  In
the i386 case in particular, the pmap code would hook a special
page allocation routine that allocated from kernel_map and not kmem_map,
and so when/if the pageout daemon drained the zones, it could actually
push out slabs from the PV ENTRY zone but call UMA's default page_free,
which resulted in pages allocated from kernel_map being freed to
kmem_map; bad.  kmem_free() ignores the return value of the
vm_map_delete and just returns.  I'm not sure what the exact
repercussions could be, but it doesn't look good.

In the PAE case on i386, we also set-up a zone in pmap, so be
conservative for now and make that zone also ZONE_NOFREE and
ZONE_VM.  Do this for the pmap zones for the other archs too,
although in some cases it may not be entirely necessarily.  We'd
rather be safe than sorry at this point.

Perhaps all UMA_ZONE_VM zones should by default be also
UMA_ZONE_NOFREE?

May fix some of silby's crashes on the PV ENTRY zone.
2003-07-31 03:39:51 +00:00
bin Don't check for the existance of src/crypto/ for building items that 2003-07-24 18:30:25 +00:00
contrib Update for the 2003/07/29 import. 2003-07-30 06:50:31 +00:00
crypto Very big makeover in the way telnet, telnetd and libtelnet are built. 2003-07-16 20:59:15 +00:00
etc Apply some sort of order to the FILES list. 2003-07-30 20:05:20 +00:00
games Remove a duplicate entry. 2003-07-25 11:14:03 +00:00
gnu returned length can exceed the limits of type char 2003-07-29 00:31:07 +00:00
include Make C++ safe 2003-07-14 16:31:20 +00:00
kerberos5 Try a lot harder to get dependancies right. This involves some ugly 2003-07-27 16:49:10 +00:00
lib Update manual for i386_set_ldt to reflect newly added features. 2003-07-31 02:13:48 +00:00
libexec Make sure that a "make release" (more accurately the bit that makes 2003-07-24 17:19:15 +00:00
release The -Os kernel build with GCC 3.3.1 also requires -fno-strict-aliasing 2003-07-30 14:46:46 +00:00
rescue Fix rescue build using -j. The problem appears to be make not being able 2003-07-24 07:42:42 +00:00
sbin Fix the code with respect to the assumption that sizeof(long) == 4. 2003-07-30 16:15:49 +00:00
secure Very big makeover in the way telnet, telnetd and libtelnet are built. 2003-07-16 20:59:15 +00:00
share Add and document the hw.acpi.ec.poll_timeout tunable. 2003-07-30 16:22:53 +00:00
sys Make sure that when the PV ENTRY zone is created in pmap, that it's 2003-07-31 03:39:51 +00:00
tools A simple tool to sanity check the contents of release/*/dokern.sh 2003-07-28 18:18:20 +00:00
usr.bin Allow GB18030 locale 2003-07-29 07:56:05 +00:00
usr.sbin fixed wrong parameter descriptions 2003-07-30 07:33:10 +00:00
COPYRIGHT
MAINTAINERS Release contrib/smbfs from the import-only mode. Now changes can be committed 2003-07-30 10:43:13 +00:00
Makefile The `mk' target is long dead. 2003-07-20 12:38:29 +00:00
Makefile.inc1 Don't lint(1) so early in the build. Its OK to keep this for the 2003-07-24 18:14:29 +00:00
README KerberosIV de-orbit burn continues. Disconnect from "make world". 2003-03-08 10:01:26 +00:00
UPDATING Note da(4) quirks being deprecated and the procedure for re-enabling them. 2003-07-29 04:40:33 +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