MFC r251192: Fix misspelling of structure field name.
MFC a bundle of commits that bring autotuning to mbufs, maxfiles/sockets
and maxusers to the 9-stable branch.  It is committed as bundle because
these patches build on each other and only provide the functionality in
their entirety.  Some are bug fixes to aspects of earlier commits.

MFC r242029 (alfred):

 Allow autotune maxusers > 384 on 64 bit machines.

MFC r242847 (alfred):

 Allow maxusers to scale on machines with large address space.

MFC r243631 (andre):

 Base the mbuf related limits on the available physical memory or
 kernel memory, whichever is lower.  The overall mbuf related memory
 limit must be set so that mbufs (and clusters of various sizes)
 can't exhaust physical RAM or KVM.

 At the same time divorce maxfiles from maxusers and set maxfiles to
 physpages / 8 with a floor based on maxusers.  This way busy servers
 can make use of the significantly increased mbuf limits with a much
 larger number of open sockets.

MFC r243639 (andre):

 Complete r243631 by applying the remainder of kern_mbuf.c that got
 lost while merging into the commit tree.

MFC r243668 (andre):

 Using a long is the wrong type to represent the realmem and maxmbufmem
 variable as they may overflow on i386/PAE and i386 with > 2GB RAM.

MFC r243995, r243996, r243997 (pjd):

 Style cleanups, Make use of the fact that uma_zone_set_max(9) already
 returns actual limit set.

MFC r244080 (andre):

 Prevent long type overflow of realmem calculation on ILP32 by forcing
 calculation to be in quad_t space.  Fix style issue with second parameter
 to qmin().

MFC r245469 (alfred):

 Do not autotune ncallout to be greater than 18508.

MFC r245575 (andre):

 Move the mbuf memory limit calculations from init_param2() to
 tunable_mbinit() where it is next to where it is used later.

MFC r246207 (andre):

 Remove unused VM_MAX_AUTOTUNE_NMBCLUSTERS define.

MFC r249843 (andre):

 Base the calculation of maxmbufmem in part on kmem_map size
 instead of kernel_map size to prevent kernel memory exhaustion
 by mbufs and a subsequent panic on physical page allocation
 failure.

MFC r253204 (andre):

 Fix style issues, a typo in "kern.ipc.nmbufs" and correctly plave and
 expose the value of the tunable maxmbufmem as "kern.ipc.maxmbufmem"
 through sysctl.

MFC r253207 (andre):

 Make use of the fact that uma_zone_set_max(9) already returns the
 rounded limit making a call to uma_zone_get_max(9) unnecessary.

Tested by:	alfred (iXsystems)
MFC r254525:
 Add entry for packages-9.2-release directory.

Approved by:	re (implicit)
MFC r254397:
  Mark the makefs(8) '-p' flag as deprecated in preference for
  the '-Z' flag for compatibility with NetBSD.
MFC r253967:
Wait for the doomed vnode to be detached from the tmpfs
node if sleepable allocation is requested.
MFC r254238:
Correct an EHCI register write.

Reported by:    aseem.jolly@gmail.com
MFH (r254278): fix relative symlinks
MFC r254243:
- Try to fix build of 32-bit compatibility USB support for FreeBSD and
  Linux targets without breaking the existing IOCTL API.

- Remove some not-needed header file inclusions.

- Wrap a long line.

Reported by:	Damjan Jovanovic <damjan.jov@gmail.com>
MFC r250201 from hselasky:

  Add new USB API to get the port path of a USB device.
MFC r250335: Constify libusb_get_pollfds return

  The correct return type, per our libusb(3) man page and the libusb.org
  and libusbx projects (whose interface we intend to follow for our
  libusb), is const struct libusb_pollfd **.
MFC r250342, r251495:

  Add libusb_get_port_path wrapper

  This follows the libusbx API reference at
  http://libusbx.sourceforge.net/api-1.0/group__dev.html

  Add libusb_get_port_numbers

  libusbx deprecated libusb_get_port_path and replaced it with
  libusb_get_port_numbers.  The latter omits an extra parameter which was
  unused in the FreeBSD implementation anyway.
MFC r254457
  Do not use potentially stale thread in kthread_add()

  When an existing process is provided, the thread selected to use
  to initialize the new thread could have exited and be reaped.
  Acquire the proc lock earlier to ensure the thread remains valid.
MFC r241077:

- Simplify the implementation of atomic_compare_exchange_strong_explicit.
- Evaluate the memory order argument in atomic_fetch_*_explicit macros.
- Implement atomic_store_explicit using atomic_exchange_explicit instead
  of a plain assignment.

MFC r241190:

Define clang feature test macro __has_extension. It's used in stdatomic.h.

MFC r254497:

Change the return type of the fallback implementation of the
atomic_compare_exchange_* macros in stdatomic.h to _Bool.
Provide a prototype for yyparse() so that "-Werror" along with stringent
-W* warnings can be used on byacc's output.
Fix an integer overflow in computing the size of a temporary buffer
can result in a buffer which is too small for the requested
operation.

Security:	CVE-2013-3077
Security:	FreeBSD-SA-13:09.ip_multicast
MFC r254095:
  gpt_entries is used as limit for the number of partition entries in
  the GEOM_PART. Instead of just using number of entries from the GPT
  header, calculate this limit based on the reserved space between
  GPT header and first available LBA.
MFC r253494:
id_t is 64bit, provide the compat32 wrapper for clock_getcpuclockid2(2).

Reminded by:	Petr Salinger <Petr.Salinger@seznam.cz>
Regenerate.
Revert r254626 to fix the build.
MFC r253604: rename scheduler->swapper and SI_SUB_RUN_SCHEDULER->SI_SUB_LAST