]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/log
FreeBSD/stable/8.git
12 years agoMFC ZFS version 28 and related revisions:
mm [Mon, 6 Jun 2011 09:36:46 +0000 (09:36 +0000)]
MFC ZFS version 28 and related revisions:
208682, 211900, 212543, 213791, 216378, 218007, 218725, 219089, 219090,
219092, 219316, 219317, 219320, 219404, 219636, 219703, 219959, 219973,
220447, 220575, 221112, 221177, 221263, 221409, 222050, 222267, 222268

MFC r208682 (pjd):
Fix panic when reading label from provider with non power of 2 sector size.

MFC r211900 (pjd):
Use ZFS_CTLDIR_NAME instead of hardcoding ".zfs".

MFC r212543 (imp):
Simplify atomic selection

MFC r213791 (rpaulo):
Pass a format string to panic() and to taskqueue_start_threads().

Found with: clang

MFC r216378 (pjd):
Remove redundant semicolon and empty like.

MFC r218007 (jchandra):
CDDL fixes for MIPS n32.

Provide 64 bit atomic ops, and use 32 bit pointer.

MFC r218725 (dim):
When building libzpool on ia64 or sparc64, don't add the .note.GNU-stack
section.

MFC r219089 (pjd):
Finally... Import the latest open-source ZFS version - (SPA) 28.

Few new things available from now on:

- Data deduplication.
- Triple parity RAIDZ (RAIDZ3).
- zfs diff.
- zpool split.
- Snapshot holds.
- zpool import -F. Allows to rewind corrupted pool to earlier
  transaction group.
- Possibility to import pool in read-only mode.

MFC r219090 (pjd):
Commit two more files missed in r219089.

MFC r219092 (pjd):
Use proper lock in assertion.

MFC r219316 (pjd):
Simplify zvol_remove_minors() a bit.

MFC r219317 (pjd):
Make renaming of a ZVOL, ZVOL's parent directory and ZVOL snapshot work.

MFC r219320 (pjd):
Fix libzpool build.

MFC r219404 (pjd):
Correct readdir over ZFS handling.

MFC r219636 (pjd):
Fix potential panic in dbuf_sync_list() relate to spill blocks handling.

MFC r219703 (ae):
The size of zfsboot2 grown up to 64 Kbytes in r219089.
Increase NSECT up to 128 sectors too.

MFC r219959 (pjd):
Properly print characters larger than 127.

MFC r219973 (pjd):
Checking file access on size change is bogus. The checks are done earlier by
VFS where we know if this is truncate(2) or ftruncate(2). If this is the
latter we should depend on the mode the file was opened and not on the current
permission.

MFC r220447 (mm):
Partially fix ZFS compat code for sparc64.
Some endianess bugs still need to be resolved.

MFC r220575 (pjd):
Fix 'zfs list <path>' handling. If the path was found, the 'ret' variable was
uninitialized.

MFC r221112 (marcel):
Fix copy-paste bug.

MFC r221177 (jhb):
Due to space constraints, the UFS boot2 and boot1 use an evil hack where
boot2 calls back into boot1 to perform disk reads.  The ZFS MBR boot blocks
do not have the same space constraints, so remove this hack for ZFS.
While here, remove commented out code to support C/H/S addressing from
zfsldr.  The ZFS and GPT bootstraps always just use EDD LBA addressing.

MFC r221263 (mm):
Fix deduplicated zfs receive
(dmu_recv_stream builds incomplete guid_to_ds_map)

Illumos-gate changeset: 13329:c48b8bf84ab7

MFC r221409 (marius):
Convert the last use of xcopyout() to ddi_copyout() and remove the now
unused xcopyin() as well as xcopyout().

MFC r222050 (mm):
Restore old (v15) behaviour for a recursive snapshot destroy.
(zfs destroy -r pool/dataset@snapshot)

To destroy all descendent snapshots with the same name the top level
snapshot was not required to exist. So if the top level snapshot does
not exist, check permissions of the parent dataset instead.

Filed as Illumos Bug #1043

MFC r222267 (pjd):
Don't access task structure once we call task function.
The task structure might be no longer available.
This also allows to eliminates the need for two tasks in the zio structure.

MFC r222268 (pjd):
Don't pass pointer to name buffer which is on the stack to another thread,
because the stack might be paged out once the other thread tries to use the
data. Instead, just allocate memory.

Discussed with: pjd

git-svn-id: svn://svn.freebsd.org/base/stable/8@222741 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217358, 222286, 222519:
bcr [Mon, 6 Jun 2011 07:26:07 +0000 (07:26 +0000)]
MFC r217358, 222286, 222519:

r222519:
Minor wording adjustments to usbdump(8).

PR: docs/157317
Submitted by: Warren Block (wblock at wonkity dot com)
Reviewed by: hps@

r222286:
[mdoc] Fixed .Dt call.

r217358:
Documents OUTPUT formats.  While I'm here cleans up styles and words.

Reviewed by: brueffer@

git-svn-id: svn://svn.freebsd.org/base/stable/8@222740 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222492:
bcr [Mon, 6 Jun 2011 07:15:19 +0000 (07:15 +0000)]
MFC r222492:

Add a short description about NO_CHECKSUM.

PR: docs/155980
Submitted by KOIE Hidetaka (koie at suri co jp)

git-svn-id: svn://svn.freebsd.org/base/stable/8@222739 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r220403:
delphij [Mon, 6 Jun 2011 06:47:11 +0000 (06:47 +0000)]
MFC r220403:

Update arcmsr(4) to vendor version 1.20.00.21.  This release primarily
improves command timeout handling.

Many thanks to Areca for continuing to support FreeBSD.

Submitted by: Ching-Lung Huang <ching2048 areca com tw>

git-svn-id: svn://svn.freebsd.org/base/stable/8@222737 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222210, 222211, 222287:
delphij [Mon, 6 Jun 2011 05:40:52 +0000 (05:40 +0000)]
MFC r222210, 222211, 222287:

 - Diff reduction against NetBSD.  The most notable change is to zdiff(1)
   to handle more file formats including bzip2 and xz.
 - Match symbolic link handling behavior with GNU gzip, bzip2 and xz:
   When we are operating on a symbolic link pointing to an existing
   file, bail out by default, but go ahead if -f is specified.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222735 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222065:
attilio [Sat, 4 Jun 2011 22:51:06 +0000 (22:51 +0000)]
MFC r222065:
Sync XEN support with i386 about the usage of ipi_send_cpu()

git-svn-id: svn://svn.freebsd.org/base/stable/8@222700 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222447:
bcr [Sat, 4 Jun 2011 11:28:44 +0000 (11:28 +0000)]
MFC r222447:

Mention that jumbo frame support is disabled on PCIe VT6130/VT6132
controllers because of TX MAC hangs when trying to send a frame
that is larger than 4K (see r200759).

PR: docs/156742
Submitted by: Michael Moll (kvedulv at kvedulv dot de)
Reviewed by: yongari@

git-svn-id: svn://svn.freebsd.org/base/stable/8@222677 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222390: find: If a part of an expression is unknown, do not call it an
jilles [Fri, 3 Jun 2011 18:18:54 +0000 (18:18 +0000)]
MFC r222390: find: If a part of an expression is unknown, do not call it an
option.

Although most of the primaries and operators start with "-", they are not
options.

Examples:
  find . -xyz
  find . -name xyz -or bad

git-svn-id: svn://svn.freebsd.org/base/stable/8@222657 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r222075
rmacklem [Thu, 2 Jun 2011 20:57:36 +0000 (20:57 +0000)]
MFC: r222075
Add a sanity check for the existence of an "addr" option
to both NFS clients. This avoids the crash reported by
Sergey Kandaurov (pluknet@gmail.com) to the freebsd-fs@
list with subject "[old nfsclient] different nmount()
args passed from mount vs mount_nfs" dated May 17, 2011.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222629 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222298:
mav [Thu, 2 Jun 2011 08:39:10 +0000 (08:39 +0000)]
MFC r222298:
Add better names for the Intel HDMI audio codecs.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222598 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r211910 (by jfv):
mav [Thu, 2 Jun 2011 07:51:33 +0000 (07:51 +0000)]
MFC r211910 (by jfv):
Add Intel Cougar Point PCH HD Audio Controller ID

git-svn-id: svn://svn.freebsd.org/base/stable/8@222597 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r208934:
mav [Thu, 2 Jun 2011 07:45:45 +0000 (07:45 +0000)]
MFC r208934:
Add set of codec IDs.

PR:             kern/147466

git-svn-id: svn://svn.freebsd.org/base/stable/8@222596 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221789, r221794 (by jfv):
mav [Thu, 2 Jun 2011 07:39:05 +0000 (07:39 +0000)]
MFC r221789, r221794 (by jfv):
Chipset support for the new Intel Panther Point PCH, thanks
to Seth Heasley for preparing the changes.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222595 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMRC r212721:
mav [Thu, 2 Jun 2011 07:21:27 +0000 (07:21 +0000)]
MRC r212721:
Few whitespace cleanups and comments tunings.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222594 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r209339:
mav [Thu, 2 Jun 2011 07:19:19 +0000 (07:19 +0000)]
MFC r209339:
Core i5, same as previously Core2Duo, found to not set P-state for single
core lower then set on other cores. Do not try to test P-states on attach
on SMP systems. It is hopeless now and will just pollute verbose logs.
If needed, check still can be forced via loader tunable.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222593 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoPartial MFC of r212370. np@ requested this functionality so I kept in
mdf [Wed, 1 Jun 2011 18:26:59 +0000 (18:26 +0000)]
Partial MFC of r212370.  np@ requested this functionality so I kept in
the cxgb change, but otherwise MFC'd only the new function
sbuf_new_for_sysctl(9) and none of the changed code.

MFC r217830:

Document sbuf_new_for_sysctl(9).

Partial MFC of r217916:

Explicitly wire the user buffer rather than doing it implicitly in
sbuf_new_for_sysctl(9).  This allows using an sbuf with a SYSCTL_OUT
drain for extremely large amounts of data where the caller knows that
appropriate references are held, and sleeping is not an issue.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222579 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r212478: (originally by kan@)
mdf [Wed, 1 Jun 2011 17:51:18 +0000 (17:51 +0000)]
MFC r212478: (originally by kan@)

Add missing pointer increment to sbuf_cat.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222576 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r212365, r212367:
mdf [Wed, 1 Jun 2011 17:36:52 +0000 (17:36 +0000)]
MFC r212365, r212367:

r212365: Refactor sbuf code so that most uses of sbuf_extend() are in
a new sbuf_put_byte().  This makes it easier to add drain
functionality when a buffer would overflow as there are fewer code
points.

r212367: Add drain functionality to sbufs.  The drain is a function
that is called when the sbuf internal buffer is filled.  For kernel
sbufs with a drain, the internal buffer will never be expanded.  For
userland sbufs with a drain, the internal buffer may still be expanded
by sbuf_[v]printf(3).

Sbufs now have three basic uses:
1) static string manipulation.  Overflow is marked.
2) dynamic string manipulation.  Overflow triggers string growth.
3) drained string manipulation.  Overflow triggers draining.

In all cases the manipulation is 'safe' in that overflow is detected and
managed.

Note that r212367 had to be minorly re-implemented to dynamically
allocate space for a function pointer, a void * argument, and an int
error, to not break the ABI/KBI.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222574 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r212180-r212184:
mdf [Wed, 1 Jun 2011 16:34:18 +0000 (16:34 +0000)]
MFC r212180-r212184:

Use math rather than iteration when the desired sbuf size is larger than
SBUF_MAXEXTENDSIZE.

Fix brain fart when converting an if statement into a KASSERT.

Fix user-space libsbuf build.  Why isn't CTASSERT available to
user-space?

Style(9) fixes and eliminate the use of min().

Use a better #if guard.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222570 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r212364:
mdf [Wed, 1 Jun 2011 15:46:12 +0000 (15:46 +0000)]
MFC r212364:

Fix small errors in the sbuf(9) man page.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222566 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoFixed lost svn:mergeinfo on some directories in sys/
art [Wed, 1 Jun 2011 14:41:08 +0000 (14:41 +0000)]
Fixed lost svn:mergeinfo on some directories in sys/

Approved by: avg (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/8@222565 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r219561, r220437:
art [Wed, 1 Jun 2011 06:07:57 +0000 (06:07 +0000)]
MFC r219561, r220437:
add DTrace systrace support for linux32 and freebsd32 on amd64 syscalls

Add systrace_linux32 and systrace_freebsd32 modules which provide
support for tracing compat system calls in addition to native system
call tracing provided by systrace module.

Provided that all the systrace modules are loaded now you can select
what syscalls to trace in the following manner:

syscall::xxx:yyy - work on all system calls that match the specification
syscall:freebsd:xxx:yyy - only native system calls
syscall:linux:xxx:yyy - linux compat system calls (linux32 on amd64)
syscall:freebsd32:xxx:yyy - freebsd32 compat system calls on amd64

PR:         kern/152822
Reviewed by:        jhb (earlier version)
Approved by: avg (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/8@222557 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoAdded DTrace systrace support for linux32 and freebsd32 on amd64 syscalls
art [Wed, 1 Jun 2011 06:01:17 +0000 (06:01 +0000)]
Added DTrace systrace support for linux32 and freebsd32 on amd64 syscalls

Regenerates system call and systrace support files.

PR:         kern/152822
Reviewed by:        jhb (earlier version)
Approved by: avg (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/8@222556 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r219559:
art [Wed, 1 Jun 2011 05:50:24 +0000 (05:50 +0000)]
MFC r219559:

add DTrace systrace support for linux32 and freebsd32 on amd64 syscalls

This commits makes necessary changes in syscall/sysent generation
infrastructure.

PR:         kern/152822
Reviewed by:        jhb (ealier version)
Approved by: avg (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/8@222555 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222283:
ae [Wed, 1 Jun 2011 05:03:17 +0000 (05:03 +0000)]
MFC r222283:
  Prevent non-aligned reading from provider while tasting. Reject
  providers with unsupported sectorsize.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222554 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222313: Close a race between libzfs and mountd when updating NFS exports.
will [Tue, 31 May 2011 17:24:18 +0000 (17:24 +0000)]
MFC r222313: Close a race between libzfs and mountd when updating NFS exports.

Reviewed by: pjd
Approved by: ken

git-svn-id: svn://svn.freebsd.org/base/stable/8@222536 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222243,222244:
ae [Tue, 31 May 2011 05:00:45 +0000 (05:00 +0000)]
MFC r222243,222244:
  Remove unused variable.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222517 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222003, r222085, r222102
np [Mon, 30 May 2011 23:27:42 +0000 (23:27 +0000)]
MFC r222003, r222085, r222102

r222003:
Add missing header. The test for VLAN_CAPABILITIES later in the file
doesn't make sense without it.

r222085:
- Enable per-channel congestion notification.
- Enable PCIe relaxed ordering for all egress queues and rx data buffers.

r222102:
Simplify t4_os_find_pci_capability.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222514 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222317:
marcel [Mon, 30 May 2011 16:10:15 +0000 (16:10 +0000)]
MFC r222317:
Ignore MCR[6] during the probe to fix a false negative.

PR: kern/129663

git-svn-id: svn://svn.freebsd.org/base/stable/8@222501 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r220592: Staticize malloc types.
pluknet [Mon, 30 May 2011 11:24:03 +0000 (11:24 +0000)]
MFC r220592: Staticize malloc types.

Approved by: lstewart

git-svn-id: svn://svn.freebsd.org/base/stable/8@222496 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222278:
bcr [Mon, 30 May 2011 08:04:47 +0000 (08:04 +0000)]
MFC r222278:

Add a description to the checksum target about not only
being able to verify, but also having the ability to
fetch distfiles that are missing or failed the checksum
calculation

PR: docs/138887
Submitted by: Radim Kolar (hsn at sendmail dot cz)

git-svn-id: svn://svn.freebsd.org/base/stable/8@222480 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218699:
bcr [Mon, 30 May 2011 07:58:49 +0000 (07:58 +0000)]
MFC r218699:

Document TRYBROKEN in ports(7).

PR: docs/153542
Submitted by: Eitan Adler <lists@eitanadler.com>

git-svn-id: svn://svn.freebsd.org/base/stable/8@222478 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222334:
mckusick [Sun, 29 May 2011 18:09:14 +0000 (18:09 +0000)]
MFC r222334:
The check for whether a block is going to be claimed by a snapshot
needs to happen before we notify the underlying layer that it is
being freed.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222455 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222174: sh: Add test for r222173 (MFCed as r222452).
jilles [Sun, 29 May 2011 15:10:12 +0000 (15:10 +0000)]
MFC r222174: sh: Add test for r222173 (MFCed as r222452).

git-svn-id: svn://svn.freebsd.org/base/stable/8@222453 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222173: sh: Fix bss-based buffer overflow in . builtin.
jilles [Sun, 29 May 2011 15:07:53 +0000 (15:07 +0000)]
MFC r222173: sh: Fix bss-based buffer overflow in . builtin.

If the length of a directory in PATH together with the given filename
exceeded FILENAME_MAX (which may happen even for pathnames that work), a
static buffer was overflown.

The static buffer is unnecessary, we can use the stalloc() stack.

Obtained from: NetBSD

git-svn-id: svn://svn.freebsd.org/base/stable/8@222452 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222201:
attilio [Sun, 29 May 2011 02:10:57 +0000 (02:10 +0000)]
MFC r222201:
Fill the whole cpuset_t, not only the first object.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222437 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222002:
attilio [Sun, 29 May 2011 02:09:09 +0000 (02:09 +0000)]
MFC r222002:
Do not use memory barrier when is not necessary.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222436 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r220560:
lstewart [Sat, 28 May 2011 13:54:19 +0000 (13:54 +0000)]
MFC r220560:

Use the full and proper company name for Swinburne University of Technology
throughout the source tree.

Requested by: Grenville Armitage, Director of CAIA at Swinburne University of
Technology

git-svn-id: svn://svn.freebsd.org/base/stable/8@222420 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218912,218945,220237:
lstewart [Sat, 28 May 2011 13:48:49 +0000 (13:48 +0000)]
MFC r218912,218945,220237:

- Add new man pages for the modular congestion control, Khelp and Hhook
  frameworks (cc.4, cc.9, khelp.9 and hhook.9).

- Add new man pages for each available congestion control algorithm (cc_chd.4,
  cc_cubic.4, cc_hd.4, cc_htcp.4, cc_newreno.4 and cc_vegas.4).

- Add a new man page for the Enhanced Round Trip Time (ERTT) Khelp module
  (h_ertt.4).

- Update the TCP (tcp.4) man page to mention the TCP_CONGESTION socket option,
  cross reference to cc.4 and remove references to the retired
  "net.inet.tcp.newreno" sysctl MIB variable.

In collaboration with: David Hayes <dahayes at swin edu au> and
   Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/8@222419 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218545,218914:
lstewart [Sat, 28 May 2011 08:43:24 +0000 (08:43 +0000)]
MFC r218545,218914:

Add an example Khelp module, which will be referenced in the forthcoming Khelp
documentation.

Sponsored by: FreeBSD Foundation
Discussed with: David Hayes <dahayes at swin edu au>

git-svn-id: svn://svn.freebsd.org/base/stable/8@222415 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 218155:
lstewart [Sat, 28 May 2011 08:34:30 +0000 (08:34 +0000)]
MFC 218155:

Import an implementation of the CAIA-Hamilton-Delay (CHD) congestion control
algorithm described in the paper "Improved coexistence and loss tolerance for
delay based TCP congestion control" by Hayes and Armitage. It is implemented as
a kernel module compatible with the recently committed modular congestion
control framework.

CHD enhances the approach taken by the Hamilton-Delay (HD) algorithm to provide
tolerance to non-congestion related packet loss and improvements to coexistence
with loss-based congestion control algorithms. A key idea in improving
coexistence with loss-based congestion control algorithms is the use of a shadow
window, which attempts to track how NewReno's congestion window (cwnd) would
evolve. At the next packet loss congestion event, CHD uses the shadow window to
correct cwnd in a way that reduces the amount of unfairness CHD experiences when
competing with loss-based algorithms.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation
Reviewed by: bz and others along the way

git-svn-id: svn://svn.freebsd.org/base/stable/8@222413 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 218153:
lstewart [Sat, 28 May 2011 08:32:17 +0000 (08:32 +0000)]
MFC 218153:

Import a clean-room implementation of the Hamilton-Delay (HD) congestion control
algorithm based on the paper "A strategy for fair coexistence of loss and
delay-based congestion control algorithms" by Budzisz, Stanojevic, Shorten and
Baker. It is implemented as a kernel module compatible with the recently
committed modular congestion control framework.

HD uses a probabilistic approach to reacting to delay-based congestion. The
probability of reducing cwnd is zero when the queuing delay is very small,
increasing to a maximum at a set threshold, then back down to zero again when
the queuing delay is high. Normal operation keeps the queuing delay below the
set threshold. However, since loss-based congestion control algorithms push the
queuing delay high when probing for bandwidth, having the probability of
reducing cwnd drop back to zero for high delays allows HD to compete with
loss-based algorithms.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation
Reviewed by: bz and others along the way

git-svn-id: svn://svn.freebsd.org/base/stable/8@222412 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218152,218156:
lstewart [Sat, 28 May 2011 08:28:37 +0000 (08:28 +0000)]
MFC r218152,218156:

Import a clean-room implementation of the VEGAS congestion control algorithm
based on the paper "TCP Vegas: end to end congestion avoidance on a global
internet" by Brakmo and Peterson. It is implemented as a kernel module
compatible with the recently committed modular congestion control framework.

VEGAS uses network delay as a congestion indicator and unlike regular loss-based
algorithms, attempts to keep the network operating with stable queuing delays
and no congestion losses. By keeping network buffers used along the path within
a set range, queuing delays are kept low while maintaining high throughput.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation
Reviewed by: bz and others along the way

git-svn-id: svn://svn.freebsd.org/base/stable/8@222411 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 217806:
lstewart [Sat, 28 May 2011 08:24:22 +0000 (08:24 +0000)]
MFC 217806:

Import the ERTT (Enhanced Round Trip Time) Khelp module. ERTT uses the
Khelp/Hhook KPIs to hook into the TCP stack and maintain a per-connection, low
noise estimate of the instantaneous RTT. ERTT's implementation is robust even in
the face of delayed acknowledgements and/or TSO being in use for a connection.

A high quality, low noise RTT estimate is a requirement for applications such as
delay-based congestion control, for which we will be importing some algorithm
implementations shortly.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation
Reviewed by: bz and others along the way

git-svn-id: svn://svn.freebsd.org/base/stable/8@222410 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217773:
lstewart [Sat, 28 May 2011 08:20:25 +0000 (08:20 +0000)]
MFC r217773:

Add build infrastructure for Khelp modules.

Sponsored by: FreeBSD Foundation
Reviewed by: bz

git-svn-id: svn://svn.freebsd.org/base/stable/8@222409 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216758,217252:
lstewart [Sat, 28 May 2011 08:13:39 +0000 (08:13 +0000)]
MFC r216758,217252:

- Add some helper hook points to the TCP stack. The hooks allow Khelp modules to
  access inbound/outbound events and associated data for established TCP
  connections. The hooks only run if at least one hook function is registered
  for the hook point, ensuring the impact on the stack is effectively nil when
  no TCP Khelp modules are loaded. struct tcp_hhook_data is passed as contextual
  data to any registered Khelp module hook functions.

- Add an OSD (Object Specific Data) pointer to struct tcpcb to allow Khelp
  modules to associate per-connection data with the TCP control block.

- Tweak the MFCed code to preserve the ABI of the 8-STABLE branch with respect
  to "struct tcpcb" by consuming some of the padding within the struct.

- Bump __FreeBSD_version to 802506.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation
Reviewed by: bz, others along the way

git-svn-id: svn://svn.freebsd.org/base/stable/8@222408 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216753,217221:
lstewart [Sat, 28 May 2011 07:23:26 +0000 (07:23 +0000)]
MFC r216753,217221:

Add a new sack hint to track the most recent and highest sacked sequence number.
This will be used by the incoming Enhanced RTT Khelp module.

Sponsored by: FreeBSD Foundation
Submitted by: David Hayes <dahayes at swin edu au>
Reviewed by: bz and others (as part of a larger patch)

git-svn-id: svn://svn.freebsd.org/base/stable/8@222407 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216615,217248,217250:
lstewart [Sat, 28 May 2011 06:56:09 +0000 (06:56 +0000)]
MFC r216615,217248,217250:

- Introduce the Hhook (Helper Hook) KPI. The KPI is closely modelled on pfil(9),
  and in many respects can be thought of as a more generic superset of pfil.
  Hhook provides a way for kernel subsystems to export hook points that Khelp
  modules can hook to provide enhanced or new functionality to the kernel. The
  KPI has been designed to ensure hook points pose no noticeable overhead when
  no hook functions are registered.

- Introduce the Khelp (Kernel Helpers) KPI. Khelp provides a framework for
  managing Khelp modules, which indirectly use the Hhook KPI to register their
  hook functions with hook points of interest within the kernel. Khelp modules
  aim to provide a structured way to dynamically extend the kernel at runtime in
  an ABI preserving manner. Depending on the subsystem providing hook points, a
  Khelp module may be able to associate per-object data for maintaining relevant
  state between hook calls.

- pjd's Object Specific Data (OSD) KPI is used to manage the per-object data
  allocated to Khelp modules. Create a new "OSD_KHELP" OSD type for use by the
  Khelp framework.

- Bump __FreeBSD_version to 802505 to mark the introduction of the new KPIs.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation
Reviewed by: bz, others along the way

git-svn-id: svn://svn.freebsd.org/base/stable/8@222406 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216115:
lstewart [Sat, 28 May 2011 05:28:00 +0000 (05:28 +0000)]
MFC r216115:

Import a clean-room implementation of the experimental H-TCP congestion control
algorithm based on the Internet-Draft "draft-leith-tcp-htcp-06.txt". It is
implemented as a kernel module compatible with the recently committed modular
congestion control framework.

H-TCP was designed to provide increased throughput in fast and long-distance
networks. It attempts to maintain fairness when competing with legacy NewReno
TCP in lower speed scenarios where NewReno is able to operate adequately.  The
paper "H-TCP: A framework for congestion control in high-speed and long-distance
networks" provides additional detail.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation
Reviewed by: rpaulo

git-svn-id: svn://svn.freebsd.org/base/stable/8@222404 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216114,217683:
lstewart [Sat, 28 May 2011 05:17:52 +0000 (05:17 +0000)]
MFC r216114,217683:

Import a clean-room implementation of the experimental CUBIC congestion control
algorithm based on the Internet-Draft "draft-rhee-tcpm-cubic-02.txt". It is
implemented as a kernel module compatible with the recently committed modular
congestion control framework.

CUBIC was designed for provide increased throughput in fast and long-distance
networks. It attempts to maintain fairness when competing with legacy NewReno
TCP in lower speed scenarios where NewReno is able to operate adequately.  The
paper "CUBIC: A New TCP-Friendly High-Speed TCP Variant" provides additional
detail.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation
Reviewed by: rpaulo

git-svn-id: svn://svn.freebsd.org/base/stable/8@222403 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216109:
lstewart [Sat, 28 May 2011 05:04:53 +0000 (05:04 +0000)]
MFC r216109:

Add build infrastructure for the forthcoming CC algorithm modules.

Sponsored by: FreeBSD Foundation
Submitted by: David Hayes <dahayes at swin edu au>

git-svn-id: svn://svn.freebsd.org/base/stable/8@222402 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r215166,215377,215391,215392,215393,215395,216101,216103,216105,216107,
lstewart [Sat, 28 May 2011 04:40:35 +0000 (04:40 +0000)]
MFC r215166,215377,215391,215392,215393,215395,216101,216103,216105,216107,
    216749,216760,217748,218167:

- Add a KPI and supporting infrastructure to allow modular congestion control
  algorithms to be used in the net stack. Algorithms can maintain per-connection
  state if required, and connections maintain their own algorithm pointer, which
  allows different connections to concurrently use different algorithms. The
  TCP_CONGESTION socket option can be used with getsockopt()/setsockopt() to
  programmatically query or change the congestion control algorithm respectively
  from within an application at runtime.

- Integrate the framework with the TCP stack in as least intrusive a manner as
  possible. Care was also taken to develop the framework in a way that should
  allow integration with other congestion aware transport protocols (e.g.  SCTP)
  in the future. The hope is that we will one day be able to share a single set
  of congestion control algorithm modules between all congestion aware transport
  protocols.

- Introduce a new congestion recovery (TF_CONGRECOVERY) state into the TCP stack
  and use it to decouple the meaning of recovery from a congestion event and
  recovery from packet loss (TF_FASTRECOVERY) a la RFC2581. ECN and delay based
  congestion control protocols don't generally need to recover from packet loss
  and need a different way to note a congestion recovery episode within the
  stack.

- Remove the net.inet.tcp.newreno sysctl, which simplifies some portions of code
  and ensures the stack always uses the appropriate mechanisms for recovering
  from packet loss during a congestion recovery episode.

- Extract the NewReno congestion control algorithm from the TCP stack and
  massage it into module form. NewReno is always built into the kernel and will
  remain the default algorithm for the forseeable future. Implementations of
  additional different algorithms will become available in the near future.

- Tweak the MFCed code to preserve the ABI of the 8-STABLE branch with respect
  to "struct tcpcb" by consuming some of the padding within the struct.

- Bump __FreeBSD_version to 802504.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: Cisco URP, FreeBSD Foundation
Reviewed by: rpaulo (r215166), bz (r215391,215395,216749,217748)
Tested by: David Hayes (r215166), trociny (r215377,215391,215392,215395)

git-svn-id: svn://svn.freebsd.org/base/stable/8@222401 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoUpgrade to 9.6-ESV-R4-P1, which address the following issues:
dougb [Sat, 28 May 2011 00:33:06 +0000 (00:33 +0000)]
Upgrade to 9.6-ESV-R4-P1, which address the following issues:

1. Very large RRSIG RRsets included in a negative cache can trigger
an assertion failure that will crash named (BIND 9 DNS) due to an
off-by-one error in a buffer size check.

This bug affects all resolving name servers, whether DNSSEC validation
is enabled or not, on all BIND versions prior to today. There is a
possibility of malicious exploitation of this bug by remote users.

2. Named could fail to validate zones listed in a DLV that validated
insecure without using DLV and had DS records in the parent zone.

Add a patch provided by ru@ and confirmed by ISC to fix a crash at
shutdown time when a SIG(0) key is being used.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222396 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221565-221568,221579:
yongari [Fri, 27 May 2011 21:43:35 +0000 (21:43 +0000)]
MFC r221565-221568,221579:
r221565:
  Reuse the TX descriptor(DPD) if xl_encap() failed instead of just
  picking the next available one. This may explain why xl(4) sees TX
  underrun error with no queued frame. I hope this addresses a long
  standing xl(4) watchdog timeout issue as well.

  Obtained from:        OpenBSD

r221566,221579:
  Rename xl_stats_update() callout handler to xl_tick() and move MII
  tick driving logic to xl_tick(). Now xl_tick() handles MII tick as
  well as periodic updating of statistics.
  This change removes a hack used in interrupt handler where it
  wanted to update statistics without driving MII tick.

r221567:
  Rearm watchdog timer if driver kick controller to recover from TX
  underrun error.
  While here, prepend 0x to status code to show TX status is hex
  number.

r221568:
  XL_DMACTL is 32bit register, use 32bit write macro.
  While I'm here add more bits for the register.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222387 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221563-221564:
yongari [Fri, 27 May 2011 20:33:26 +0000 (20:33 +0000)]
MFC r221563-221564:
r221563:
  Terminate interrupt handler if driver detect it's not running.
  Also add check for driver running state before trying to send
  frames. While I'm here, use for loop.

r221564:
  Change xl_rxeof() a bit to return the number of processed frames in
  RX descriptor ring. Previously it returned the number of frames
  that were successfully passed to upper stack which in turn means it
  ignored frames that were discarded due to errors. The number of
  processed frames in RX descriptor ring is used to detect whether
  driver is out of sync with controller's current descriptor pointer.
  Returning number of processed frames reduces unnecessary (probably
  wrong) re-synchronization.

  While here, remove unnecessary local variable initialization.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222384 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221557-221558,221560-221561,221571:
yongari [Fri, 27 May 2011 20:21:12 +0000 (20:21 +0000)]
MFC r221557-221558,221560-221561,221571:
r221557:
  Remove unnecessary htole32/le32toh dance.

r221571:
  Remove unneeded use of variable status.

r221558:
  Set status word once instead of twice. For 3C90xB/3C90xC, frame
  length of status word is ignored. While here move bus_dmamap_sync()
  up where DMA map is loaded.

r221560:
  Call bus_dmamap_sync() only after TX DPD update.

r221561:
  Updating status word should be the last operation of UPD structure
  renewal.  Disable instruction reordering by adding volatile to
  xl_list_onefrag structure.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222382 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221555:
yongari [Fri, 27 May 2011 19:26:12 +0000 (19:26 +0000)]
MFC r221555:
  Rewrite RX filter logic and provide controller specific filter
  handler for 3C90x and 3C90xB/C respectively.  This simplifies ioctl
  handler as well as enhancing readability.
  While I'm here don't reprogram multicast filter when driver is not
  running.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222377 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222107:
yongari [Fri, 27 May 2011 19:03:42 +0000 (19:03 +0000)]
MFC r222107:
  Fix typo.

  Submitted by: brad at OpenBSD

git-svn-id: svn://svn.freebsd.org/base/stable/8@222374 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222135:
yongari [Fri, 27 May 2011 18:58:08 +0000 (18:58 +0000)]
MFC r222135:
  Remove unnecessary controller reinitialization by checking
  IFF_DRV_RUNNING flag.  Previously running dhclient or adding alias
  addresses reinitialized controller and it resulted in unnecessary
  link flips.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222371 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221712:
yongari [Fri, 27 May 2011 18:46:24 +0000 (18:46 +0000)]
MFC r221712:
  Since r117657, bge(4) does not enable buffer manager for BCM5705 or
  newer controllers.  However, all data sheet I have access has no
  indication that buffer manager should not be touched on these
  controllers.  It seems the buffer manager always runs on BCM5705 or
  newer controllers. Some controller(e.g. BCM5719) needs other buffer
  manager configuration so driver should enable buffer manager for
  all controllers.  Both Linux and OpenBSD/NetBSD use the same
  approach.
  This change polls enable bit of block to know whether specified
  block was really stopped as well as enabling buffer manager for all
  controllers in driver initialization.

  Obtained from: NetBSD

git-svn-id: svn://svn.freebsd.org/base/stable/8@222369 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222142:
yongari [Fri, 27 May 2011 18:39:18 +0000 (18:39 +0000)]
MFC r222142:
  Datasheet says vge(4) controllers support DAC but it seems that's
  not true on old PCI based controllers.  DAC configuration is read
  from EEPROM in device reset phase and driver can override DAC
  configuration.  However I guess there is an undocumented reason why
  EEPROM configuration does not enable DAC so do not blindly override
  DAC configuration.  Recent PCIe based controllers are supposed to
  support 64bit DMA so allow 64bit DMA only on PCIe based controllers.

  PR: kern/157184

git-svn-id: svn://svn.freebsd.org/base/stable/8@222367 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222136: Add missing header file.
pluknet [Fri, 27 May 2011 09:55:18 +0000 (09:55 +0000)]
MFC r222136: Add missing header file.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222350 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r222245: Ensure there is a whitespace after a mount point.
ru [Fri, 27 May 2011 09:50:29 +0000 (09:50 +0000)]
MFC: r222245: Ensure there is a whitespace after a mount point.

PR: 157286

git-svn-id: svn://svn.freebsd.org/base/stable/8@222349 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222127,r222130:
pluknet [Fri, 27 May 2011 09:15:56 +0000 (09:15 +0000)]
MFC r222127,r222130:

- Fix the description of the "paddr" keyword.
- Spelling in P_HADTHREADS.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222348 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222257:
zec [Fri, 27 May 2011 08:43:59 +0000 (08:43 +0000)]
MFC r222257:
  Assume the link to be dead if bit error rate (BER) parameter is set to 1.
  When a transition from link alive to link dead configuration or vice
  versa occurs, notify any upstream and / or downstream peers using
  NGM_FLOW messagges.

  Link state notification using NGM_FLOW messages is modelled around
  around already existing code in ng_ether.c.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222347 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222255:
zec [Fri, 27 May 2011 08:43:03 +0000 (08:43 +0000)]
MFC r222255:
  Provide fake link status information in an attempt to let ng_eiface(4)
  virtual ifnets more realistically mimic physical ethernet interfaces.
  The main motivation behind this change is to allow for ng_eiface(4)
  interfaces to participate in STP if_bridge(4) configurations.

  When announcing link status changes, switch to the vnet to which the
  ifnet belongs, since it is possible for ng_eiface ifnets to be assigned
  to a vnet different from the one in which its netgraph node resides.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222346 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222247:
zec [Fri, 27 May 2011 08:41:57 +0000 (08:41 +0000)]
MFC r222247:
  Allow for vlan(4) interfaces with MTU of 1500 bytes to be configured
  on top of epair(4) virtual interfaces, since there's no physical
  hardware associated with epair interfaces which would imply any
  constraints on MTU sizes.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222345 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222246:
zec [Fri, 27 May 2011 08:40:26 +0000 (08:40 +0000)]
MFC r222246:
  Let epair(4) virtual interfaces report fake link / media status,
  by borrowing the skeleton of if_media manipulation and reporting
  code from if_lagg(4).  The main motivation behind this change is
  to allow for epair(4) interfaces to participate in STP if_bridge(4)
  configurations.

  Reviewed by:  bz

git-svn-id: svn://svn.freebsd.org/base/stable/8@222344 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222122:
bcr [Fri, 27 May 2011 07:38:58 +0000 (07:38 +0000)]
MFC r222122:

Correct typos in comments, no functional changes.

Found by: codespell
Reviewed by: kaiw

git-svn-id: svn://svn.freebsd.org/base/stable/8@222342 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221860:
delphij [Fri, 27 May 2011 00:23:44 +0000 (00:23 +0000)]
MFC r221860:

Constify a few string variables.  While I'm there, also convert usage() to
use a prototype.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222335 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r220911:
mav [Thu, 26 May 2011 00:37:44 +0000 (00:37 +0000)]
MFC r220911:
Make PATA-like soft-reset in ata(4) more strict in checking disk signature.
It allows to avoid false positive device detection under Xen, that caused
long probe delays due to subsequent IDENTIFY command timeouts.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222297 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r222086:
kib [Wed, 25 May 2011 03:25:14 +0000 (03:25 +0000)]
MFC r222086:
The protection against the race with dev_rel(), introduced in r163328,
should be extended to cover destroy_devl() calls for the children of the
destroyed dev.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222274 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r222037: mq_setattr(2): Add missing const to man page.
jilles [Tue, 24 May 2011 21:12:52 +0000 (21:12 +0000)]
MFC r222037: mq_setattr(2): Add missing const to man page.

The declaration in the header file is correct.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222270 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221843:
mdf [Tue, 24 May 2011 16:04:35 +0000 (16:04 +0000)]
MFC r221843:

Note that the _SWAP operation is supported for all list/queue types.
Also place STAILQ_REMOVE_HEAD in alphabetical order.  Lastly, document
the _SWAP macros.

PR: kern/143033

git-svn-id: svn://svn.freebsd.org/base/stable/8@222261 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221981:
nwhitehorn [Mon, 23 May 2011 14:16:45 +0000 (14:16 +0000)]
MFC r221981:
Remove a useless check that could break early boot if the page zero routines
are called too early in the boot process.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222214 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r222025: Fix manual section number for netstat(1).
pluknet [Mon, 23 May 2011 13:02:04 +0000 (13:02 +0000)]
MFC r222025: Fix manual section number for netstat(1).

git-svn-id: svn://svn.freebsd.org/base/stable/8@222212 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r208489,r216208: sh: Reap any zombies before forking for a background
jilles [Sun, 22 May 2011 22:28:07 +0000 (22:28 +0000)]
MFC r208489,r216208: sh: Reap any zombies before forking for a background
command.

This prevents accumulating huge amounts of zombies if a script executes
many background commands but no external commands or subshells.

Note that zombies will not be reaped during long calculations (within
the shell process) or read builtins, but those actions do not create
more zombies.

The terminated background commands will also still be remembered by the
shell.

r216208 fixes a bug in r208489 that could cause a multi-command pipeline to
be marked as done before all processes had been created.

PR: bin/55346

git-svn-id: svn://svn.freebsd.org/base/stable/8@222208 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221550:
nwhitehorn [Sun, 22 May 2011 15:14:21 +0000 (15:14 +0000)]
MFC r221550:
SMP has worked perfectly for a very long time on 32-bit PowerPC on both
UP and SMP hardware. Enable it in GENERIC.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222181 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221519,221813:
nwhitehorn [Sun, 22 May 2011 15:01:02 +0000 (15:01 +0000)]
MFC r221519,221813:
Do not use Open Firmware to open the device and instead program its start
on our own. This prevents hangs at boot when using a bm(4) NIC where the
cable is not plugged in at boot time.

Obtained from: NetBSD

git-svn-id: svn://svn.freebsd.org/base/stable/8@222180 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC: r221812
marius [Sat, 21 May 2011 16:17:30 +0000 (16:17 +0000)]
MFC: r221812

Some PHYs like the Level One LXT970 optionally can default to isolation
after rest, in which case we may need to deisolate them.
Tested by: nwhitehorn

git-svn-id: svn://svn.freebsd.org/base/stable/8@222159 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221548,221552:
yongari [Sat, 21 May 2011 00:38:43 +0000 (00:38 +0000)]
MFC r221548,221552:
r221548:
  Do not increment collision counter if transmit have failed.
  Transmission error in tun(4) is queueing error(i.e. ENOBUFS) and it
  has nothing to do with collision.
r221552:
  Fix white space nits and style

git-svn-id: svn://svn.freebsd.org/base/stable/8@222155 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC: r222043
jkim [Fri, 20 May 2011 22:38:02 +0000 (22:38 +0000)]
MFC: r222043

Update CPUID bits to reflect AMD Bulldozer and Intel Sandy Bridge features.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222153 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC: r221188
jkim [Fri, 20 May 2011 22:22:56 +0000 (22:22 +0000)]
MFC: r221188

Define "Hypervisor Present" bit.  This bit is used by several hypervisors to
identify CPUs running under emulation.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222150 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC: r221102
jkim [Fri, 20 May 2011 22:09:40 +0000 (22:09 +0000)]
MFC: r221102

Use ACPI-supplied CPU frequencies instead of estimated ones.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222148 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221468:
yongari [Fri, 20 May 2011 20:29:50 +0000 (20:29 +0000)]
MFC r221468:
  Enable Ethernet@WireSpeed for BCM5718/BCM57765 family. While I'm
  here inverse meaning of PHY flag as Ethernet@WireSpeed is enabled
  for most PHYs.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222146 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221445:
yongari [Fri, 20 May 2011 20:26:16 +0000 (20:26 +0000)]
MFC r221445:
  Add initial BCM57765 family support. The BCM57765 family seems to
  have similar hardware features of BCM5718 family except the number
  of receive return ring is 4. The BCM57765 family is known to
  support IEEE 802.3az EEE(Energy Efficient Ethernet) but this change
  does not include EEE support code. I hope EEE is implemented in
  near future.
  This change will support BCM57761, BCM57765, BCM57781, BCM57785,
  BCM57791 and BCM57795. All hardware offloading features are
  supported and suspend/resume also should work.
  Many thanks to Broadcom for continuing support of FreeBSD.

  Tested by: Paul Thornton (prt <> prt dot org)
  HW donated by: Broadcom

git-svn-id: svn://svn.freebsd.org/base/stable/8@222144 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC: r222019: Document the supported hardware, somewhat.
ru [Fri, 20 May 2011 17:43:38 +0000 (17:43 +0000)]
MFC: r222019: Document the supported hardware, somewhat.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222141 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r222018: Renamed PCI_INTERFACE_XHCI to PCIP_SERIALBUS_USB_XHCI
ru [Fri, 20 May 2011 17:40:21 +0000 (17:40 +0000)]
MFC r222018: Renamed PCI_INTERFACE_XHCI to PCIP_SERIALBUS_USB_XHCI
and moved it to <dev/pci/pcireg.h>.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222140 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221632, r221643:
trociny [Fri, 20 May 2011 17:29:03 +0000 (17:29 +0000)]
MFC r221632, r221643:

r221632:

Fix isitme(), which is used to check if node-specific configuration
belongs to our node, and was returning false positive if the first
part of a node name matches short hostname.

r221643 (pjd):

Allow to specify remote as 'none' again which was broken by r219351, where
'none' was defined as a value for checksum.

Reported by:    trasz

Approved by: pjd (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/8@222138 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r220756: kdump: Show code for signals with default action.
jilles [Fri, 20 May 2011 12:52:08 +0000 (12:52 +0000)]
MFC r220756: kdump: Show code for signals with default action.

This information is available as of kernel r222125. Trace files from older
kernels will always have 0.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222126 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r220740: ktrace: Log the code for all signals (PSIG events).
jilles [Fri, 20 May 2011 12:48:39 +0000 (12:48 +0000)]
MFC r220740: ktrace: Log the code for all signals (PSIG events).

The code provides information on how the signal was generated.

Formerly, the code was only logged for traps, much like only signal handlers
for traps received a meaningful si_code before FreeBSD 7.0.

In rare cases, no information is available and 0 is still logged.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222125 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r222013: Add missing section number for .Xr jail.
pluknet [Fri, 20 May 2011 12:40:31 +0000 (12:40 +0000)]
MFC r222013: Add missing section number for .Xr jail.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222123 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221883 and r221605.
hselasky [Fri, 20 May 2011 07:51:46 +0000 (07:51 +0000)]
MFC r221883 and r221605.
Add new USB ID's.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222114 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC: r221537
rmacklem [Fri, 20 May 2011 01:04:33 +0000 (01:04 +0000)]
MFC: r221537
Set the initial value of maxfilesize to OFF_MAX in the
new NFS client. It will then be reduced to whatever the
server says it can support. There might be an argument
that this could be one block larger, but since NFS is
a byte granular system, I chose not to do that.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222110 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC: r221517
rmacklem [Fri, 20 May 2011 00:51:52 +0000 (00:51 +0000)]
MFC: r221517
Change the new NFS server so that it returns 0 when the f_bavail
or f_ffree fields of "struct statfs" are negative, since the
values that go on the wire are unsigned and will appear to be
very large positive values otherwise. This makes the handling
of a negative f_bavail compatible with the old/regular NFS server.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222109 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221509:
delphij [Thu, 19 May 2011 17:24:53 +0000 (17:24 +0000)]
MFC r221509:

Detect and set Atom's Tj(max) to 90 if it's not the 45nm D400/D500/N400
series.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222101 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221817:
yongari [Thu, 19 May 2011 17:18:13 +0000 (17:18 +0000)]
MFC r221817:
  Explicitly clear 1000baseT control register for F1 PHY used in
  AR8132 FastEthernet controller. The PHY has no ability to
  establish a gigabit link. Previously only link parters which
  support down-shifting was able to establish link.
  This change should fix a long standing link establishment issue of
  AR8132.

  PR: kern/156935

git-svn-id: svn://svn.freebsd.org/base/stable/8@222098 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC r221803,221809: dsp/pcm: allow to mmap both read and write buffers
avg [Thu, 19 May 2011 07:03:42 +0000 (07:03 +0000)]
MFC r221803,221809: dsp/pcm: allow to mmap both read and write buffers

git-svn-id: svn://svn.freebsd.org/base/stable/8@222091 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC: r221473
rmacklem [Thu, 19 May 2011 01:56:46 +0000 (01:56 +0000)]
MFC: r221473
Modify the NFS nfssvc(2) syscall so that it allows
anyone to get the statistics for the new NFS subsystem.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222089 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

13 years agoMFC: r221467
rmacklem [Thu, 19 May 2011 01:35:52 +0000 (01:35 +0000)]
MFC: r221467
Fix the new NFS client so that it handles the 64bit fields
that are now in "struct statfs" for NFSv3 and NFSv4. Since
the ffiles value is uint64_t on the wire, I clip the value
to INT64_MAX to avoid setting f_ffree negative.

git-svn-id: svn://svn.freebsd.org/base/stable/8@222088 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f