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.
MFC r268314:
Fix some compile warnings.

Sponsored by:	Mellanox Technologies
MFC r268315:
Fix compile warning.

Sponsored by:	Mellanox Technologies
MFC r268316:
Fix OFED startup order: All SYSINIT()'s and modules should be loaded
prior to starting "/sbin/init" which will run all the "/etc/rc.d/xxx"
scripts. Else there can be a race configuring the interfaces via
"/etc/rc.conf".

Sponsored by:	Mellanox Technologies
MFC r257594:
Add description of two EHCI PCI IDs.
MFC cleanup of libusb20 example

r257779 by hselasky:

  - Use libusb20_strerror() function instead of custom usb_error() one.
  - Rename "aux.[ch]" to "util.[ch]" which is a more common name for
  utility functions and allows checkout on some non-FreeBSD systems
  where the "aux.*" namespace is reserved.
  - Fix some compile warnings while at it.

r257796 by glebius:

  Finish r257779.

PR:		183728
MFC r269750:

In r268463, I misplaced a return in demangle(), causing the function to
erroneously skip symbols that were not mangled at all.  Fix this by
moving the return into the preceding if block.

While here, simplify the code by letting __cxa_demangle() allocate the
needed space for the demangled symbol.  This also fixes a memory leak,
which would occur whenever __cxa_demangle() failed.

Reported by:	pgj
PR:		base/191981
MFC 269745: Create a redundant grain directory and table.
MFC r269776
 Remove the BROKEN_LIBELF section.
MFC r269744
 Run dtrace in 32-bit mode when compiling 32-bit libraries.
MFC r269642:
Add wrappers to assert that vm object is unlocked and for try upgrade.
MFC r269643:
Weaken the requirement for the vm object lock by only asserting locked
object in vm_pager_page_unswapped(), instead of locked exclusively.
MFC r269604:
- Implement fast interrupt handler to save CPU usage.
- Cleanup some register reads and writes to use existing register
  access macros.
- Ensure code which only applies to the control endpoint is not run
  for other endpoints in the data transfer path.
MFC r269566:
Fix for deadlock in USB device side mode.
MFC r269565:
Rename driver name a bit to avoid unit number confusion in dmesg.
MFC r266396 and r267183:
Build fixes. Add support for fast interrupts.