freebsd with flexible iflib nic queues
Go to file
Warner Losh a5928b20d5 fwsectors and fwheads used to be somehwat arbitrary. However, they are
used to align partitions in gpart. We also try to align partitions by
stripe size when creating new media. Align these two concepts by
making fwsectors the same as the stripe size. Select a sensible number
of heads so we wind up with about 20 cylinders. This number was
selected to keep the rounding effects to a few percent while keeping
the number of cylinder groups low.

Sadly, it is not possible to make these numbers match the numbers used
by SD card readers. There apperas to be much variation between brands
so there's no one universal number. These numbers are also not aligned
to the stripe size, so some performance problems may still be present
when SD cards are created this way.

Also, these numbers will differ from the far less common SD to ATA
adapters, which present a different, but more uniform, set of numbers
that also happened to match the old defaults.

Nothing should change for current users. Any suboptimal performance
caused by misalignment will still be there. gpart will honor the
partitions that aren't on proper boudnaries, but editing the partition
tables may result in different alignments being used than before when
editing things natively.

Ideally, there'd be some way to override these values in the disk
subsystem by the user for the USB adapter use case where all "native"
notions of geometry disappear. This does not implement that.
2014-10-16 19:52:12 +00:00
bin sh: Make parseredir() a proper function instead of an emulated nested 2014-10-15 21:26:09 +00:00
cddl Remove a build artifact of the USDT tests. 2014-10-15 03:15:46 +00:00
contrib Import patch from libc++ r197313 which allows using libc++ headers with gcc 2014-10-13 22:30:08 +00:00
crypto Merge OpenSSL 1.0.1j. 2014-10-15 19:12:05 +00:00
etc HYPERV isn't available on all architectures, but just on by default 2014-10-16 00:33:06 +00:00
games Update factor for changes to types in primes, which is a dependency. 2014-09-27 10:57:34 +00:00
gnu Build gperf only if we're using g++ (not clang++) 2014-10-09 23:05:31 +00:00
include Fix build with rpcgen using a recent (tested with gcc 4.9.1) GNU cpp 2014-10-09 06:58:33 +00:00
kerberos5 Fix incremental builds involving non-root users with read-only source files. 2014-09-18 14:50:21 +00:00
lib Fix the type of pte_pa as when it is passed into _kvm_pa2off it is either 2014-10-16 13:49:54 +00:00
libexec Add an "empty" Makefile.pc98 because it doesn't need/want HYPERV. It 2014-10-16 14:08:59 +00:00
release Merge the following from ^/projects/release-vmimage: 2014-10-14 15:22:46 +00:00
rescue Remove duplicate prog. 2014-09-28 08:59:38 +00:00
sbin Show error when deleting non-existing rule number. 2014-10-13 12:49:04 +00:00
secure Merge OpenSSL 1.0.1j. 2014-10-15 19:29:22 +00:00
share Update vt(4) for UEFI defaults and special keys 2014-10-16 18:49:50 +00:00
sys fwsectors and fwheads used to be somehwat arbitrary. However, they are 2014-10-16 19:52:12 +00:00
tests Fix source address selection on unbound sockets in the presence of multiple 2014-09-16 15:28:19 +00:00
tools Correct two typos 2014-10-16 18:28:11 +00:00
usr.bin Decode the arguments passed to _umtx_op(). In particular, decode the 2014-10-13 16:37:06 +00:00
usr.sbin Fix automountd(8) not to leave zombies. 2014-10-16 08:33:04 +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
MAINTAINERS add myself as opencrypto maintainer as I'm doing some work in the 2014-08-11 19:03:20 +00:00
Makefile Import OpenSSL 1.0.1j. 2014-10-15 17:32:57 +00:00
Makefile.inc1 Add size(1) to the cross build toolchain 2014-10-09 15:52:01 +00:00
ObsoleteFiles.inc Merge OpenSSL 1.0.1j. 2014-10-15 19:12:05 +00:00
README Import OpenSSL 1.0.1j. 2014-10-15 17:32:57 +00:00
UPDATING Build gperf only if we're using g++ (not clang++) 2014-10-09 23:05:31 +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