MFC r266826, r266827
Move some duplicated hook definitions from machine-dependent files to
kern_dtrace.c.
MFC r265308:
If the traced process stops because it received a signal, libproc needs
to ensure that the signal is forwarded when proc_continue() is called.
MFC r259211:
Correct the check for errors from proc_rwmem().
MFC r269118: MFV r269010:

Import Illumos changes to address the following Illumos issues:
  4976 zfs should only avoid writing to a failing non-redundant
       top-level vdev
  4978 ztest fails in get_metaslab_refcount()
  4979 extend free space histogram to device and pool
  4980 metaslabs should have a fragmentation metric
  4981 remove fragmented ops vector from block allocator
  4982 space_map object should proactively upgrade when feature
       is enabled
  4984 device selection should use fragmentation metric
MFC r269138:

Add two sysctls for newly added tunables.
MFC r268954

Merge change from upstream linux kernel submitted by OpenBSD:

drm/radeon: fix-up some float to fixed conversion thinkos

Remove #ifdef DUMBBELL_WIP in favor of upstream fix.
MFC r268993, r268893, r268994, plus partial r264070, r264082

 Fix C++ exception handling for ARM EABI.

 Just the part of r264070 that creates the FBSD_1.4 namespace in libc
 is hand-applied, and then r264082 which creates the Versions.def entry
 is MFC'd.
MFC r269206, r269207, r269208, r269209, r269210, r269211, r269212, r269213,
    r269214, r269215, r269216, r269217, r269221:

  busdma-v6 improvements, primarily:
  - Allocate the temporary segments array per-map rather than per-tag.
  - Avoid needlessly bouncing IO for mbufs and buffers allocated by
    bus_dmamem_alloc() (in both situations we known they're allocated
    on cacheline boundaries and don't need bouncing).
  - Various minor reformatting and cleanups.
MFC r269341: Populate disk->d_ident with the sd or mmc card's serial number.
MFC r269390: Fix unwind info in hand-written asm (avoid nested functions).
MFC r269393, r269394, r269395:

  Fix parsing of arch extensions in binutils/gas.
  Use ".arch_extension sec" when compiling ARM TI code that uses the
  security extensions.
MFC r269403, r269405, r269410, r269414:

  Add 64-bit atomic ops for armv6, and also for armv4 only in kernel code.
  Use the new ops in the cddl code (and avoid defining functions with the
  same names locally).
MFC r269180:

When interval is set to very small value with limited amount of packets,
ping6(8) would quit before the remote side gets a chance to respond.

Solve this by resetting the itimer when we have reached the maximum packet
number have reached, but let the other handling to continue.

PR:		bin/151023
Submitted by:	tjmao at tjmao.net
MFC r269522

Added support for extra ifconfig args to jail ip4.addr & ip6.addr params

This allows for CARP interfaces to be  used in jails e.g.
ip4.addr = "em0|10.10.1.20/32 vhid 1 pass MyPass advskew 100"

r269340 will not be MFC'ed as mentioned due to the slim window and the
amount of additional commits required to support it.

Sponsored by:	Multiplay
MFC: Merge in the changes in -current:

Support ! operator in "files" files.
Improve error detection and reporting
Cleanup code to make it easier to maintain.
Remove mandatory keyword: it has been used for 17 years.
Bump version number (we should have bumped for -I too, but didn't)

	r261501 | imp | 2014-02-04 17:26:11 -0700 (Tue, 04 Feb 2014) | 5 lines
	Fix ! by not clearing not at the bottom of the loop.
	Add a blank line
	Submitted by:   bde (blank line)

	r261493 | imp | 2014-02-04 11:28:58 -0700 (Tue, 04 Feb 2014) | 5 lines
	Implement the '!' operator for files* files. It means 'include this
	only if the specified option is NOT specified.' Bump version because
	old config won't be able to cope with files* files that have this
	construct in them.

	r261446 | imp | 2014-02-03 12:14:36 -0700 (Mon, 03 Feb 2014) | 5 lines
	Convert the loop by gotos into a for loop to improve readability. I
	did this only with the inner loop for the token parsing, and not the
	outer loop which was understandable enough when the extra layers of
	looping went away...

	r261445 | imp | 2014-02-03 12:10:33 -0700 (Mon, 03 Feb 2014) | 4 lines
	Fix a bug introduced in r261437 that failed to honor "optional
	profiling-routine" to work, since profiling-routine is not really an
	option or a device, but a special case elsewhere in the code.

	r261444 | imp | 2014-02-03 11:56:41 -0700 (Mon, 03 Feb 2014) | 2 lines
	Slight cleanup to the error messaging to compress code vertically...

	r261442 | imp | 2014-02-03 11:31:51 -0700 (Mon, 03 Feb 2014) | 2 lines
	Better error messages when EOF is hit in the middle of a phrase.

	r261438 | imp | 2014-02-03 09:54:53 -0700 (Mon, 03 Feb 2014) | 5 lines
	Move the check for standard keyword + optional inclusion specifier to
	its proper location. Otherwise you could have 'file.c standard pci'
	without an error. This construct isn't in our tree, and has no well
	defined meaning.

	r261437 | imp | 2014-02-03 09:47:10 -0700 (Mon, 03 Feb 2014) | 4 lines
	Don't believe we have a requirement until after we've checked all the
	known key words. This will make error messages slightly better in
	weird corner cases, but should otherwise be a nop.

	r261436 | imp | 2014-02-03 09:46:01 -0700 (Mon, 03 Feb 2014) | 3 lines
	In the 17 years since r30796, the mandatory keyword has never been used
	in any files as far as I can tell, and is currently unused. Retire it.

	r261435 | imp | 2014-02-03 08:10:44 -0700 (Mon, 03 Feb 2014) | 6 lines
	Slightly deobfuscate read_file() and likely pessimize the runtime
	performance by epsilon.
	(Translation: elminate bogus macros that hid 'returns' making it hard
	 to read and moved a block of code inline rather than at the end of the
	 fuction where it was effectively a 'gosub' kind of goto).
MFC r269740:

Pull in r214736 from upstream libc++ trunk (by Marshall Clow):

  Fix PR#20520 - predicate called too many times in list::remove_if.
  Add tests for list, forward_list, and the std::remove_if algorithm

This fixes an issue where std::list<>::remove_if() and remove() could
erroneously visit elements twice.

Reported by:	Dominic Fandrey <kamikaze@bsdforen.de>
PR:		192303
MFC r269302:

  Fix relative numerical addressing (addr,+N).

  As a bonus the patch untangles a bit the logic and makes the code
  easier to grasp.

  PR:           192108
MFC r269229,269404,269466: MFV r269223:

Change dn->dn_dbufs from linked list to AVL tree.

Illumos issues:
  4873 zvol unmap calls can take a very long time for larger datasets
MFC r269230: MFV r269224:

Increase default ARC buf_hash_table size.  When typical block size is small,
the hash table could be too small, which would lead to long hash chains and
limit performance for cached reads.

A new loader tunable, vfs.zfs.arc_average_blocksize, have been added which
allows users to override the default assumption of average (typical) block
size.  Old default was 65536 (64 KiB) and new default is 8192 (8 KiB).

Illumos issue:
    5034 ARC's buf_hash_table is too small
MFC r266728,266731,266735,266736,268135,268960,269833
 Update apr 1.4.8 -> 1.5.1
 Update apr-util 1.5.2 -> 1.5.3
 Update serf 1.3.4 -> 1.3.7
 Update svnlite 1.8.8 -> 1.8.10
 Deal with svnlite.1 manpage.