MFC r256089:
Document LK_TRYUPGRADE.
MFC r256090:

Pull in r192064 from upstream llvm trunk:

  X86: Don't fold spills into SSE operations if the stack is unaligned.

  Regalloc can emit unaligned spills nowadays, but we can't fold the
  spills into SSE ops if we can't guarantee alignment. PR12250.

This fixes unaligned SSE accesses (leading to a SIGBUS) which could
occur in the ffmpeg ports.

Reported by:	tijl
MFC r250395 (by attilio / jeff):
Generalize the bitset operations, present in cpuset and offer a KPI to
redefine such operations for different consumers.
This will be used when NUMA support will be finished and numaset
will need to be used.
MFC r251703 (by attilio):
 - Add a BIT_FFS() macro and use it to replace cpusetffs_obj()
MFC r255363:
Micro-optimize cpu_search(), allowing compiler to use more efficient inline
ffsl() implementation, when it is available, instead of homegrown iteration.

On dual-E5645 amd64 system (2x6x2 cores) under heavy I/O load that reduces
time spent inside cpu_search() from 19% to 13%, while IOPS increased by 5%.
MFC r249102 (by trasz):
Since the CTL version in FreeBSD does not support High Availability,
ctl_is_single should always be set to 1.  Make it so.  Previously
it was always 0, because ctl_isc_start() never got to run.
MFC r249256 (by ken):
Fix a memory leak that showed up when we delete LUNs.  The memory used for
the LUN was never freed.

ctl.c:          Adjust ctl_alloc_lun() to make sure we don't clear the
                CTL_LUN_MALLOCED flag.
MFC r249438:
Use full freeze while PMP does hard reset. This is only cosmetical change.
MFC r249466, r249481, r250025:
Remove multilevel freezing mechanism, implemented to handle specifics of
the ATA/SATA error recovery, when post-reset recovery commands should be
allocated when queues are already full of payload requests.  Instead of
removing frozen CCBs with specified range of priorities from the queue
to provide free openings, use simple hack, allowing explicit CCBs over-
allocation for requests with priority higher (numerically lower) then
CAM_PRIORITY_OOB threshold.

Simplify CCB allocation logic by removing SIM-level allocation queue.
After that SIM-level queue manages only CCBs execution, while allocation
logic is localized within each single device.
MFC r250131 (by eadler):
Correct a few sizeof()s
MFC r250460 (by eadler):
Fix a bunch of typos.
MFC r253958:
Change CCB queue resize logic to be able safely handle overallocations:
 - (re)allocate queue space in power of 2 chunks with 64 elements minimum
and never shrink it; with only 4/8 bytes per element size is insignificant.
 - automatically reallocate the queue to double size if it is overflowed.
 - if queue reallocation failed, store extra CCBs in unsorted TAILQ,
fetching them back as soon as some queue element is freed.

To free space in CCB for TAILQ linking, change highpowerq from keeping
high-power CCBs to keeping devices frozen due to high-power CCBs.

This encloses all pieces of queue resize logic inside of cam_queue.[ch],
removing some not obvious duties from xpt_release_ccb().
MFC r253960:
Pass SIM pointer as an argument to camisr_runqueue() instead of doneq
pointer.
MFC r253987 (by trasz):
Remove dead code.
MFC r254058:
Remove droping topology mutex after iterating 100 periphs in CAMGETPASSTHRU.
That is not so slow and so often operation to handle unneeded otherwise
xsoftc.xpt_generation and respective locking complications.
MFC r254329 (by smh):
Added 4K quirks for:-
* OCZ Agility 2 SSDs
* Marvell SSDs
* Intel X25-M Series SSDs
MFC r255126:
Add debug trace points for freeze/release device queue.
MFC r255304:
Fix kernel panic if cache->nelms is zero.
MFC r255309:
Make SES driver adequately react on simple enclosure devices -- read Short
Enclosure status to enclosure status field, clear previous state and exit.
MFC r228541, r256022:

r228541 (by pjd):
 - Put one file into one line. This makes keeping local changes and
   merging with FreeBSD easier for vendors.
 - For optional files use variables starting with underscore

r256022:
 - Do not install bluetooth rc(8) scripts if MK_BLUETOOTH = no.