Make isp_find_pdb_by_*() search for targets in portdb in reverse order.

Records with target_mode == 1 are allocated from the end of portdb, so it
seems logical to start search from the end not traverse whole array.

MFC after:	1 month
Some microoptimizations.

MFC after:	1 month
Fix SA_SIGINFO | SA_RESETHAND handling. The sysent' sv_sendsig()
method needs pre-reset state of the ps_siginfo to correctly construct
signal frame.

Move sigdflt() call after the sv_sendsig() invocation in postsig().
Simultaneously extract common code from trapsignal() and postsig()
into new helper postsig_done().

Submitted by:	rea
MFC after:	1 week
The process spin lock currently has the following distinct uses:

- Threads lifetime cycle, in particular, counting of the threads in
  the process, and interlocking with process mutex and thread lock.
  The main reason of this is that turnstile locks are after thread
  locks, so you e.g. cannot unlock blockable mutex (think process
  mutex) while owning thread lock.

- Virtual and profiling itimers, since the timers activation is done
  from the clock interrupt context.  Replace the p_slock by p_itimmtx
  and PROC_ITIMLOCK().

- Profiling code (profil(2)), for similar reason.  Replace the p_slock
  by p_profmtx and PROC_PROFLOCK().

- Resource usage accounting.  Need for the spinlock there is subtle,
  my understanding is that spinlock blocks context switching for the
  current thread, which prevents td_runtime and similar fields from
  changing (updates are done at the mi_switch()).  Replace the p_slock
  by p_statmtx and PROC_STATLOCK().

The split is done mostly for code clarity, and should not affect
scalability.

Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Fix incorrect check, blocking MULTIID functionality.

MFC after:	1 week
Fix WWNN/WWPN generation for virtual channels.

MFC after:	1 week
Do not use xform_ipip as decapsulation fallback.

xform_ipip was used as fallback with low priority for IPIP
encapsulated packets that were decrypted. In some cases
it can decapsulate packets, that it shouldn't. This leads to situations,
when wrong configurations are magically working. Also it can propagate
wrong ingress interface and this can break security.

Now we redesigned the IPSEC code and IPIP encapsulation is called directly
from ipsec_output, and decapsulation is done in the ipsec_input with m_striphdr.

Differential Revision:	https://reviews.freebsd.org/D1220
MFC after:	1 month
Sponsored by:	Yandex LLC
Make igb and ixgbe check tunables at probe time.

This allows one to make a kernel module to tune the
number of queues before the driver loads.

This is needed so that a module at SI_SUB_CPU can set
tunables for these drivers to take.  Otherwise getenv
is called too early by the TUNABLE macros.

Reviewed by: smh
Phabric: https://reviews.freebsd.org/D1149
Add PCI ID for Intel Lynx Point LP controller.

PR:		kern/195398
Submitted by:	grembo
Obtained from:	DragonflyBSD
MFC after:	1 week
Whitespace cleanup to fix rendering nits in
src.conf(5).

Sponsored by:	The FreeBSD Foundation
Regen src.conf(5) after r275138.

Sponsored by:	The FreeBSD Foundation
Increase default and maximum callchain depths

Bump the default from 16 to 32, to accommodate kernel flamegraphs.
Bump the maximum from 32 to 128, to accommodate deep user stacks.

Reviewed by:	gnn
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1203
Remove ip4_input() declaration. It was removed in r275133.

MFC after:	1 month
Init array field in the proper place.

Obtained from:	OpenBSD
ANSIfy b64_pton
Convert sbin/mdconfig/tests from prove format tests to ATF format tests

As a side effect...
1. The tests now checks for the root user before continuing with kyua, which is
   more visible than the test being skipped with the TAP protocol
2. The tests work with devices that aren't /dev/md0 by caching the device
   attached during the test to a file, and later use the cached information to
   detach the device in the cleanup routine
3. The tests no longer require perl to run

MFC after: 1 week
PR: 191191
Sponsored by: EMC / Isilon Storage Division
Fix hwpmc sampling for MPC74xxx (G4) processors.

With this, hwpmc sampling now works correctly on these processors.

MFC after:	3 weeks
Relnotes:	yes
clean_build is not always done (*), so move the mkdir to the first step
that needs it and is always done: make.conf build.

(*) In our build environment we actually never do a clean build unless
instructed to do so, to make sure we do not accidentally delete the
built world when on a tight schedule.
o NetBSD 6.1.5, OpenBSD 5.6, FreeBSD 10.1, DragonFly 4.0.1 added.
Fix hwpmc sampling for ppc970 (G5-class) processors.

With this, hwpmc sampling now works on these processors.

MFC after:	3 weeks
Relnotes:	yes