MFC r259896:

In sys/dev/cxgb/common/cxgb_mc5.c, remove static function
dbgi_wr_addr3(), which is unused since r167514.
MFC r259897:

In sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c, remove static functions
mk_cpl_barrier_ulp(), mk_get_tcb_ulp() and mk_set_tcb_field_ulp(), which
are all unused since r237263.
MFC r257155, r257582, r259191, r259192, r259193, r259194, r259195, r259196:

r257155:

Make hastctl list command output current queue sizes.

Reviewed by:	pjd

r257582 (pjd):

Correct alignment.

r259191:

For memsync replication, hio_countdown is used not only as an
indication when a request can be moved to done queue, but also for
detecting the current state of memsync request.

This approach has problems, e.g. leaking a request if memsynk ack from
the secondary failed, or racy usage of write_complete, which should be
called only once per write request, but for memsync can be entered by
local_send_thread and ggate_send_thread simultaneously.

So the following approach is implemented instead:

1) Use hio_countdown only for counting components we waiting to
   complete, i.e. initially it is always 2 for any replication mode.

2) To distinguish between "memsync ack" and "memsync fin" responses
   from the secondary, add and use hio_memsyncacked field.

3) write_complete() in component threads is called only before
   releasing hio_countdown (i.e. before the hio may be returned to the
   done queue).

4) Add and use hio_writecount refcounter to detect when
   write_complete() can be called in memsync case.

Reported by:	Pete French petefrench ingresso.co.uk
Tested by:	Pete French petefrench ingresso.co.uk

r259192:

Add some macros to make the code more readable (no functional chages).

r259193:

Fix compiler warnings.

r259194:

In remote_send_thread, if sending a request fails don't take the
request back from the receive queue -- it might already be processed
by remote_recv_thread, which lead to crashes like below:

  (primary) Unable to receive reply header: Connection reset by peer.
  (primary) Unable to send request (Connection reset by peer):
      WRITE(954662912, 131072).
  (primary) Disconnected from kopusha:7772.
  (primary) Increasing localcnt to 1.
  (primary) Assertion failed: (old > 0), function refcnt_release,
      file refcnt.h, line 62.

Taking the request back was not necessary (it would properly be
processed by the remote_recv_thread) and only complicated things.

r259195:

Send wakeup to threads waiting on empty queue before releasing the
lock to decrease spurious wakeups.

Submitted by:	davidxu

r259196:

Check remote protocol version only for the first connection (when it
is actually sent by the remote node).

Otherwise it generated confusing "Negotiated protocol version 1" debug
messages when processing the second connection.
MFC	r259666, r259696:

gcc: warnings from -Wformat-security

Obtained from:	Apple GCC 4.2 - 5646 (Radar 5764921)
MFC of 258789:

We needlessly panic when trying to flush MKDIR_PARENT dependencies.
We had previously tried to flush all MKDIR_PARENT dependencies (and
all the NEWBLOCK pagedeps) by calling ffs_update(). However this will
only resolve these dependencies in direct blocks. So very large
directories with MKDIR_PARENT dependencies in indirect blocks had
not yet gotten flushed. As the directory is in the midst of doing a
complete sync, we simply defer the checking of the MKDIR_PARENT
dependencies until the indirect blocks have been sync'ed.

Reported by: Shawn Wallbridge of imaginaryforces.com
Tested by:   John-Mark Gurney <jmg@funkthat.com>
PR:          183424
MFC: r255937

Implement GET_STACK_USAGE.
Discussed with:	mav
MFC r254293, r259868, r259881, 259955:

r254293:
  - Only set ARCH_FLAGS (TARGET/TARGET_ARCH) if specified,
    otherwise allow the toolchain to detect the correct values.

  - Remove {SRC,DOC,PORT}REVISION variables, and use
    'branch@rNNNNNN' as the {SRC,DOC,PORT}BRANCH variables.

  - Only set default KERNEL_FLAGS and WORLD_FLAGS make(1) jobs
    if the number of CPUs is greater than 1.

r259868 (jmmv):
  Delay copying of resolv.conf into the chroot until /etc
  exists.

r259881 (jmmv):
  Put the release objdir inside the chroot.

259955:
  Move build_doc_ports() to the if...fi block from which it is
  called.

Sponsored by:	The FreeBSD Foundation
MFC	r259005, r259092:

gcc: Add -flax-vector-conversions
gcc: new fvisibility-ms-compat option

These are useful for compatibility with newwer gcc and clang.

Obtained from:	gcc 4.3 (rev. 120572, 120688, 126088; GPLv2)
MFC r259951:
Do not coalesce stack entry. Pass MAP_STACK_GROWS_DOWN and
MAP_STACK_GROWS_UP flags to vm_map_insert() from vm_map_stack()
Merge branch 'stable/9' into feature/dhclient-tzcode/stable/9
MFC r257532 (by adrian):

Fix this build for clang.

MFC r259730:

To avoid having to explicitly test COMPILER_TYPE for setting
clang-specific or gcc-specific flags, introduce the following new
variables for use in Makefiles:

CFLAGS.clang
CFLAGS.gcc
CXXFLAGS.clang
CXXFLAGS.gcc

In bsd.sys.mk, these get appended to the regular CFLAGS or CXXFLAGS for
the right compiler.

MFC r259913:

For libstand and sys/boot, split off gcc-only flags into CFLAGS.gcc.

MFC r259927:

Fix pc98 build, by also forcing COMPILER_TYPE in sys/boot/pc98/boot2's
Makefile.

Pointy hat to:	dim
MFC r259902:

In sys/dev/drm/mach64_dma.c, remove static function mach64_set_dma_eol(),
which has never been used, even by upstream, since its initial upstream
commit (see http://cgit.freedesktop.org/mesa/drm/commit/?id=873e1c4d )
Revert r259862:
  Don't try to bootstrap a utility that does not exist in the branch.

Pointyhat:	 gjb
Submitted by:	 John W. O'Brien (via -stable@)
Sponsored by:	The FreeBSD Foundation
MFC r256717:

Update firmware for run(4) to version 0.33.
MFC r260125:
  Bump copyright year.
  Happy New Year 2014!

Sponsored by:	The FreeBSD Foundation
MFC r252064:

Rename run(4) firmware file from runfw to run.fw. Previous name was the
same as top-level target name for "device runfw" kernel option and
caused cyclic dependancy that lead to kernel build breakage

Module change is not strictly required and done for name unification sake

PR:	conf/175751
Submitted by:	Issei <i10a at herbmint.jp>
Bump __FreeBSD_version for MFC of r259951 - don't coalesce map entries
for vm_map_stack().
MFC	r259525, r259526, r259529

gcc: small merges from upstream

fix ICE in rs6000 when using -fno-trapping-math.
Solves GCC-PR target/30485

Solve GCC issues:
PR middle-end/32602
PR middle-end/32603

Updates the to documentation and processing improvement.

Obtained from:	gcc 4.3 (rev. 120902, 120902, 119427, 126278, 126422;
		GPLv2)
MFC: r259084
For software builds, the NFS client does many small
synchronous (with FILE_SYNC) writes because non-contiguous
byte ranges in the same buffer cache block are being
written. This patch adds a new mount option "noncontigwr"
which allows the non-contiguous byte ranges to be combined,
with the dirty byte range becoming the superset of the bytes
that are dirty, if the file has not been file locked.
This reduces the number of writes significantly for software
builds. The only case where this change might break existing
applications is where an application is writing
non-overlapping byte ranges within the same buffer cache block
of a file from multiple clients concurrently.
Since such an application would normally do file locking on
the file, avoiding the byte range merge for files that have
been file locked should be sufficient for most (maybe all?) cases.
MFC: r259089
Document the noncontigwr NFS mount option.
This is a content change.