hptmv(4): Remove an unneeded NULL check after M_WAITOK.
kernel: Remove some bogus casts of NULL to something.
vmstat - Remove the busy_time == 0 hack

Remove a very old busy_time == 0 hack which assumed that a delta busy time
of 0 with transactions present simply meant that a transaction didn't
complete within one second and that the device was 100% busy.

In fact, disk devices are so fast these days (particularly SSDs) that it is
possible for many transactions to complete without causing the busy counter
to tick-over.  The device is more likely to be less than 1% busy.

This fixes the '% busy' display for e.g. 'systat -vm 1' to properly report
0% in these situations.
tcp_var.h: White space cleanup
Update to per-CPU hardware resources format.
tcp: Ignore duplicate ACK carries useless DSACK

This mainly used to avoid unnecessary early retransmit and fast
retransmit as show in the following two dumps:
http://leaf.dragonflybsd.org/~sephe/early.xpl (~4.8sec)
http://leaf.dragonflybsd.org/~sephe/fast.xpl (~12.35sec)
Kernel: do not manipulate watchdog list if empty

Suggested-by: Alex Hornung
kernel/ecc: Remove unneeded MFILES line in the Makefile.

Reported-by: ftigeot
Import ichwd(4) from FreeBSD

This is a device driver for the watchdog timer function present on the
LPC interface bridge in Intel ICH-series chipsets.
kernel/wdog: Compile in kern_wdog.c by default.

Actually it was always compiled in by default but the code depended
on the WATCHDOG_ENABLED option which is not in the GENERIC kernels.

Simply remove the WATCHDOG_ENABLE option. The code is small, it does
nothing by default than initializing a lock, a /dev/wdog and a
callout, and it also makes it easier for people who want to use
ichwd(4) by simply kldloading it.
kernel: Remove the unused HW_WDOG option.
tcp: Move useless DSACK detection before increasing dupacks

- Avoid the spurious retransmit in the following dump:
  http://leaf.dragonflybsd.org/~sephe/fast1.xpl (~9.755sec)
- Loosely meet the requirement of RFC3042: no new segments should be
  sent upon ACKs carrying useless SACK information
- Add sysctl net.inet.tcp.ignore_redun_dsack to disable useless
  DSACK detection; default on
tcp: Dragging RescueRxt along with HighRxt should depend on tcp.rescuesack_agg
tcp: Disable aggressive rescue retransmission for SACK by default

It could cause medium spurious retransmit when segments are reordered
but not lost.
tcp: Per-connection DupThresh

This eases implementing adaptive DupThresh algorithm, e.g. RFC4653
make upgrade: Now that we have devfs, don't try to remove any /dev/*
rtld: Sync with FreeBSD after gnu_hash import

For the most part, FreeBSD took our gnu_hash implementation without much
modification.  Most of these changes are caused by whitespace differences
due to a different style scheme, and by declarating variables separately
from their assignments.  Notable exceptions were:
* FreeBSD didn't use int_fast32_t type
* FreeBSD keeps checking the first character before doing strcmp
* FreeBSD renamed the symlook_obj2 to symlook_obj1_*

The only additions were two debug statements.  This commits syncs the
following back to DragonFly:

FreeBSD SVN 234840 (30 APR 2012)
FreeBSD SVN 234841 (30 APR 2012)
rtld: Add two special directives to libmap.conf

include <file>:
    Parse the contents of file before continuing with the current file.

includedir <dir>:
    Parse the contents of every file in dir that ends in .conf before
    continuing with the current file.

Any file or directory encountered while processing include or includedir
directives will be parsed exactly once, even if it is encountered multiple
times.

Taken from FreeBSD SVN 234851 (30 APR 2012) with modification:

1) DragonFly realpath works differently than FreeBSD's and doesn't
   accept a null value for the resolved_path argument.
2) FreeBSD's debug lines reflect the wrong function, lm_init, instead
   of lmc_parse_file.  lmc_parse_dir also calls lmc_parse_file, so
   the debug message is definitely wrong and was corrected.
3) FreeBSD keeps using path even after determining realpath and putting
   the result in the rpath variable.  It uses path for debug messages
   and opening a file descriptor.  DragonFly doesn't use path again and
   only uses rpath after it is determined.
4) FreeBSD's lmc_parse_file code had a bug in the linked list used to
   track which conf files had already been parsed.  Memory for the
   filename was allocated so it wouldn't get overwritten after multiple
   passes, which is standard for the includedir functionality.
mps(4): Use a variable.
kernel: Remove some unused variables.