freebsd kernel with SKQ
Go to file
Alan Cox 9452b5eda9 Back in the days when the kernel was single threaded, testing
"vm_paging_target() > 0" was a reasonable way of determining if the
inactive queue scan met its target.  However, now that other threads
can be allocating pages while the inactive queue scan is running, it's
an unreliable method.  The effect of it being unreliable is that we
can start swapping out processes when we didn't intend to.

This issue has existed since the kernel was multithreaded, but the
changes to the inactive queue target in 10.0-RELEASE have made its
effects visible.

This change introduces a more direct method for determining if the
inactive queue scan met its target that is not affected by the actions
of other threads.

Reported by:	Steve Polyack
Tested by:	pho, Steve Polyack (an earlier version)
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
2014-08-26 16:40:20 +00:00
bin Always check the limits of array index variables before using them. 2014-08-21 02:40:33 +00:00
cddl MFV r270197: 2014-08-22 22:13:36 +00:00
contrib Remove leading '/' from hardlink name when removing them from the 2014-08-26 13:11:38 +00:00
crypto Merge OpenSSL 1.0.1i. 2014-08-07 18:56:10 +00:00
etc Add references to vt(4) and the configuration files in /usr7share/vt where 2014-08-26 08:13:30 +00:00
games Update the freebsd-tips example to use drill instead of dig since bind is no longer in base 2014-07-25 14:47:44 +00:00
gnu Add ${LIBC} to DPADD to fix "make checkdpadd" 2014-08-20 15:43:26 +00:00
include Add guards to ptrdiff_t definition in include/stddef.h 2014-08-21 15:10:10 +00:00
kerberos5 Revert r267233 for now. PIE support needs to be reworked. 2014-08-19 15:04:32 +00:00
lib The standard we compile libc++ with is called c++11 not c++0x. 2014-08-25 08:40:36 +00:00
libexec Fix "make checkdpadd" by "spoofing" DPADD 2014-08-26 09:01:11 +00:00
release Wrap a long line. 2014-08-24 12:51:34 +00:00
rescue Add zdb into rescue environment. 2014-08-20 00:14:41 +00:00
sbin Garbage collect libl dependency 2014-08-23 20:45:00 +00:00
secure Fix typo (LIBLDNSADD -> LIBLDNS) to fix "make checkdpadd" 2014-08-19 18:27:43 +00:00
share Back-out the references to vt(4) from this man-page. It appears that the 2014-08-26 11:13:07 +00:00
sys Back in the days when the kernel was single threaded, testing 2014-08-26 16:40:20 +00:00
tests Numerous small fixes, mostly suggested by Coverity. 2014-08-20 16:59:33 +00:00
tools Update these to make them actually compile! 2014-08-25 06:14:57 +00:00
usr.bin Missed comma. 2014-08-26 11:04:51 +00:00
usr.sbin More man pages that need to know about vt in addition to syscons. 2014-08-26 10:55:08 +00:00
.arcconfig Update the URL to the phabricator instance. 2014-08-14 16:25:43 +00:00
.arclint arc: add linting for python files 2014-06-02 00:21:42 +00:00
COPYRIGHT Bump copyright year. 2013-12-31 12:18:10 +00:00
LOCKS Explicitly require Security Officer's approval for kernel PRNG bits. 2013-09-17 14:19:05 +00:00
MAINTAINERS add myself as opencrypto maintainer as I'm doing some work in the 2014-08-11 19:03:20 +00:00
Makefile Create the native-xtools target. This target creates only the cross 2014-08-18 21:04:44 +00:00
Makefile.inc1 Revert r267233 for now. PIE support needs to be reworked. 2014-08-19 15:04:32 +00:00
ObsoleteFiles.inc Catch up to gcc 3.3 -> 3.4 upgrade. 2014-08-24 21:21:54 +00:00
README
UPDATING Make mmap() of the console device when using ofwfb work like other supported 2014-07-29 23:11:05 +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 ``world''
target should only be used in cases where the source tree has not
changed from the currently running version.  See:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
for more information, including setting make(1) variables.

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.

cddl		Various commands and libraries under the Common Development
		and Distribution License.

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.

rescue		Build system for statically linked /rescue utilities.

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