freebsd-dev/sys
Alexander Motin 8836496815 Introduce support of SCSI Command Priority.
SAM-3 specification introduced concept of Task Priority, that was renamed
to Command Priority in SAM-4, and supported by all modern SCSI transports.
It provides 15 levels of relative priorities: 1 - highest, 15 - lowest and
0 - default.  SAT specification for SATA devices translates priorities 1-3
into NCQ high priority.

This change adds new "priority" field into empty spots of struct ccb_scsiio
and struct ccb_accept_tio of CAM and struct ctl_scsiio of CTL.  Respective
support is added into iscsi(4), isp(4), mpr(4), mps(4) and ocs_fc(4) drivers
for both initiator and where applicable target roles.  Minimal support was
added to CTL to receive the priority value from different frontends, pass it
between HA controllers and report in few places.

This patch does not add consumers of this functionality, so nothing should
really change yet, since the field is still set to 0 (default) on initiator
and not actively used on target.  Those are to be implemented separately.

I've confirmed priority working on WD Red SATA disks connected via mpr(4)
and properly transferred to CTL target via iscsi(4), isp(4) and ocs_fc(4).

While there, added missing tag_action support to ocs_fc(4) initiator role.

MFC after:	1 month
Relnotes:	yes
Sponsored by:	iXsystems, Inc.
2020-10-25 19:34:02 +00:00
..
amd64 Improve FPU Tag Word reconstruction on i386 to indicate register states. 2020-10-21 00:15:12 +00:00
arm Simplify preload_dump() condition 2020-10-15 20:21:15 +00:00
arm64 Add IOMMU support to GICv3 Interrupt Translation Service (ITS) driver. 2020-10-25 10:08:46 +00:00
bsm bsm: add AUE_CLOSERANGE 2020-04-24 01:27:25 +00:00
cam Introduce support of SCSI Command Priority. 2020-10-25 19:34:02 +00:00
cddl Fix build after r367020 2020-10-24 23:21:51 +00:00
compat audit: correct reporting of *execve(2) success 2020-10-24 14:39:17 +00:00
conf backlight(9): compile with COMPAT_LINUXKPI as well 2020-10-24 15:38:04 +00:00
contrib Skip RAW kstat sysctls by default 2020-10-24 16:25:52 +00:00
crypto Add a new CCP device ID found on my Ryzen 5 3600XT. 2020-10-22 17:46:55 +00:00
ddb ddb: clean up empty lines in .c and .h files 2020-09-01 22:14:30 +00:00
dev Introduce support of SCSI Command Priority. 2020-10-25 19:34:02 +00:00
dts Brand our DTS with the Linux version it was imported from 2020-10-10 07:18:51 +00:00
fs vfs: drop spurious cache_purge on rmdir 2020-10-23 15:50:49 +00:00
gdb gdb(4): Don't escape GDB special characters at application layer 2020-09-30 14:55:54 +00:00
geom Fix asymmetry in devstat(9) calls by GEOM. 2020-10-24 21:07:10 +00:00
gnu Brand our DTS with the Linux version it was imported from 2020-10-10 07:18:51 +00:00
i386 Remove support for intel compiler from i386 in_cksum 2020-10-24 23:21:27 +00:00
isa
kern Fix asymmetry in devstat(9) calls by GEOM. 2020-10-24 21:07:10 +00:00
kgssapi State kgssapi dependency on xdr. 2020-09-17 22:29:38 +00:00
libkern arc4random(9): Integrate with RANDOM_FENESTRASX push-reseed 2020-10-10 21:48:06 +00:00
mips Avoid dump_avail[] redefinition. 2020-10-14 22:51:40 +00:00
modules Factor out generic IP over infiniband, IPoIB, definitions and code 2020-10-22 09:09:53 +00:00
net More style fixes (partial revert of r366994). 2020-10-24 13:07:50 +00:00
net80211 net80211: factor out the priv(9) checks into OS specifc code. 2020-10-18 21:34:04 +00:00
netgraph ng_l2tp: Fix callout synchronization in the rexmit timeout handler 2020-09-25 18:55:50 +00:00
netinet TCP Cubic: improve reaction to (and rollback from) RTO 2020-10-24 16:11:46 +00:00
netinet6 icmp6: Count packets dropped due to an invalid hop limit 2020-10-19 17:07:19 +00:00
netipsec Trigger soft lifetime expiration on sequence number 2020-10-16 11:27:01 +00:00
netpfil Add dtrace SDT probe ipfw:::rule-matched. 2020-10-21 15:01:33 +00:00
netsmb net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
nfs nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsclient nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsserver nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nlm nlm: clean up empty lines in .c and .h files 2020-09-01 22:14:52 +00:00
ofed Factor out generic IP over infiniband, IPoIB, definitions and code 2020-10-22 09:09:53 +00:00
opencrypto Fix a couple of bugs for asym crypto introduced in r359374. 2020-10-19 20:04:03 +00:00
powerpc Avoid dump_avail[] redefinition. 2020-10-14 22:51:40 +00:00
riscv riscv: improve exception code naming 2020-10-24 20:57:13 +00:00
rpc Fix a potential memory leak in the NFS over TLS handling code. 2020-09-05 00:50:52 +00:00
security mac_framework.h: fix build with DEBUG_VFS_LOCKS and !MAC 2020-09-03 20:30:52 +00:00
sys cdefs.h: remove intel_compiler support 2020-10-24 23:21:31 +00:00
teken Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
tests Add small tool to invoke kernel test framework tests. 2020-09-02 09:20:40 +00:00
tools Brand our DTS with the Linux version it was imported from 2020-10-10 07:18:51 +00:00
ufs Various new check-hash checks have been added to the UFS filesystem 2020-10-25 00:43:48 +00:00
vm Conditionally compile struct vm_phys_seg's md_first field. This field is 2020-10-23 06:24:38 +00:00
x86 Move the iommu stubs to a generic place, so they are available on all the 2020-10-23 21:27:48 +00:00
xdr xdr: clean up empty lines in .c and .h files 2020-09-01 22:13:28 +00:00
xen xen: clean up empty lines in .c and .h files 2020-09-01 21:21:55 +00:00
Makefile