Remove upc_{control,register} syscalls and everything that has to do with it.

It's no longer used for anything.

Requested-by: vsrinivas
Approved-by:  dillon
kernel -- ffs: ufs_ihash may not match for vnode recycling reasons.

* vnode recycling may cause VGET to not find an inode; handle the
  race as before, it was not a bug.

* print diradd pointer in ffs MKDIR_BODY panics; will help finding
  the panic, it is masked by the inode hash panic.

Reviewed-by: sjg
kernel - Fix missing B_ORDERED inheritance

* The cluster code was not inheriting B_ORDERED on buffers when constructing
  the rollup buffer due to a coding error.

* I don't think anything uses B_ORDERED so this shouldn't matter, but fix
  it anyway.

Reported-by: vsrinivas
thread: Add td_type field; this avoids blowout td_flags w/ type flags

- Replace TDF_CRYPTO with TD_TYPE_CRYPTO
- All lwkt threads are created as TD_TYPE_GENERIC
- Netisr threads now mark themselves as TD_TYPE_NETISR

Discussed-with: sjg@ and dillon@
Approved-by: dillon@
kernel - Fix sync() system call

* The sync() system call was syncing the filesystems MNT_NOWAIT | MNT_LAZY.
  We need the MNT_NOWAIT to avoid an endless sync on a busy filesystem, but
  MNT_LAZY is another issue entirely.

* Remove the MNT_LAZY from the sync() system call, it can cause whole
  files to not be synced.  It is meant only to be used by the automatic
  kernel 30-second sync (which eventually gets everything flushed out).
hammer2 - Cleanup various races, better flush

* Cleanup various topological scan races

* Temporarily release the parent lock when diving a child.

* Start work on a chain movement (disconnect from parent) interlock,
  which we need for stability during flushes, renames, and hardlink
  operations.  This will likely be rewritten.
Merge branch 'master' into gsocdrm_jfree
kernel: Remove USERFS.

It's an old project of Matt, but won't be continued anymore.

Approved-by: dillon
hammer2 - redo the flush collision handling

* Add HAMMER2_CHAIN_ONRBTREE and change HAMMER2_CHAIN_DELETED.  The DELETED
  flag now indicates a chain has been deleted (as in unlink, rmdir, truncate,
  etc) but could not be removed due to a conflicting flush.

  DELETED means something different from dropped chains with 0 refs which
  wind up sticking around due to the lastdrop code not being able to
  acquire a lock on the parent or colliding with a flush.  0-ref chains
  can be considered to cache clean media state when it comes down to it.
  (modified chains have a ref and so don't hit the lastdrop code).

* The flush code is now able to reliably unlock the chain parent when
  processing a child.

* Clean up a number of flush cases.

* Began to add error handling in the hammer2_chain_create() path.  The path
  now handles EAGAIN errors when insertions would collide with a flush.
  (The wait/retry code is currently just a sleep/retry).

* Removed the MAYDELETE junk.  It was too junky.

*
pktgen: Clear ip.ip_sum before calling in_cksum_hdr()
hammer2 - small stabilization & performance pass

* Change a few bawrite()'s to bdwrite()'s to the bufdaemon can cluster
  the meta-data.  This greatly improves continuous flushes (e.g. when
  running blogbench).

* Fix a number of improper cache_setvp() calls which can cause the
  system to panic later.  Basically the vnode was being cleared without
  the namecache error getting set (to ENOENT).  Easiest solution is to
  just not call cache_setvp() for those cases in the first place and
  just leave the ncp unresolved.
ipfw: Don't spam the log if dynamic rules allocation failed

There is high chance that kmalloc w/ M_NOWAIT fails; no need to bark
hammer2 - bigger stabilization & performance pass

* Fix additional namecache bogons that could result in a crash.

* Fix volume header synchronization.  It was possible for the voldata
  structure to be modified after its crc had been calculated but before
  its write.  A mount after a crash would then refuse to use the volume
  header.

* Each flush now iterates available volume header backups instead of
  just writing to block 0.  (The mount code selects the most recent
  valid volume header from available backups.  There is nothing special
  about the volume header in block 0).

* Fix volume header flush staging, the fsync of the device buffers
  was not ensuring a complete flush before synchronizing the volume
  header.
polling: Diverge each CPU's polling frequency a little bit (within 50Hz)

This avoids possible thunder hurd effect on ifnet.if_snd's serializer.
polling: Increase default rx.each_burst to 50

With this default the CPU usage still could be throttled to the desired
value (rx.user_frac), it gives reasonable burst for modern systems and
number of empty RX polling is reduced.
wlandebug.8: Don't reference manual pages which we don't have.

Instead, point at the tools directories in our tree.
kernel - ufs softdep fix under heavy load

Fix is from OpenBSD ffs_softdep.c v1.79, originally from FreeBSD
ffs_softdep.c 1.196. Commit message from OpenBSD:

"due to ffs_sync not be able to sync some buffers here is another
instance of softdep code that must ensure proper syncing.
try harder to flush MKDIR_BODY dependancy if such still exists
during pagedep flush (that is by syncing first block of the dir)."
libkiconv: Remove unneeded SHLIBDIR in the Makefile.
kernel - Fix buffer cache mismatch assertion (hammer)

* Fix an issue where cluster_write() could instantiate buffers with
  the wrong buffer size.  Only effects HAMMER1 which uses two different
  buffer sizes for files.

* Bug could cause a mismatched buffer size assertion in the kernel.
Merge branch 'master' into gsocdrm_github