freebsd-skq/sys
Matt Jacob 94dff77179 More rototilling with target mode in an attemp to get multiple
CCB at a time outstanding reliable. It's not there yet, but this
is the direction to go in so might as well commit. So far,
multiple at a time CCBs work (see ISP_INTERNAL_TARGET test mode),
but it fails if there are more downstream than the SIM wants
to handle and SRR is sort of confused when this happens, plus
it is not entirely quite clear what one does if a CCB/CTIO fails
and you have more in flight (that don't fail, say) and more queued
up at the SIM level that haven't been started yet.

Some of this is driven because there apparently is no flow control
to requeue XPT_CONTINUE_IO requests like there are for XPT_SCSI_IO
requests. It is also more driven in that the few target mode
periph drivers there are are not really set up for handling pushback-
heck most of them don't even check for errors (and what would they
really do with them anyway? It's the initiator's problem, really....).

The data transfer arithmetic has been worked over again to handle
multiple outstanding commands, so you have a notion of what's been
moved already as well as what's currently in flight. It turns that
this led to uncovering a REPORT_LUNS bug in the ISP_INTERNAL_TARGET
code which was sending back 24 bytes of rpl data instead of the
specified 16. What happened furthermore here is that sending back
16 bytes and reporting an overrun of 8 bytes made the initiator
(running FC-Tape aware f/w) mad enough to request, and keep
requesting, another FCP response (I guess it didn't like the answer
so kept asking for it again).

Sponsored by: Spectralogic
MFC after:	1 month
2012-08-08 18:24:33 +00:00
..
amd64 The assertion that I added in r238889 could legitimately fail when a 2012-08-08 05:28:30 +00:00
arm After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
boot As it turned out, there are some installations, where BSD label 2012-08-07 09:22:46 +00:00
bsm
cam Remove opt_enc.h from files committed with r235911. enc(4) is the 2012-07-30 03:00:58 +00:00
cddl Include <vm/vm_param.h> for PA_LOCK_COUNT in order to fix kernel build 2012-08-05 20:19:27 +00:00
compat Cosmetics: define FREEBSD32_MINUSER and AOUT32_MINUSER for struct 2012-07-22 13:41:45 +00:00
conf MFP4 change 214967: 2012-08-06 21:24:43 +00:00
contrib Update to latest git version of dtc to get new dtsv2 support, 2012-07-24 16:29:33 +00:00
crypto
ddb Update the ddb and gdb backends for the new 'trace_thread' hook. 2012-04-12 21:34:58 +00:00
dev More rototilling with target mode in an attemp to get multiple 2012-08-08 18:24:33 +00:00
fs After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
gdb Update the ddb and gdb backends for the new 'trace_thread' hook. 2012-04-12 21:34:58 +00:00
geom Clone BIO_ORDERED flag, for disk drivers (namely CAM) that try to 2012-08-07 20:16:10 +00:00
gnu/fs Just like the other file systems found in /sys/fs, g_vfs_open() 2012-08-01 23:05:57 +00:00
i386 Add lfence(). 2012-08-01 17:24:53 +00:00
ia64 After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
isa
kern Always initialize pl_event. 2012-08-08 00:20:30 +00:00
kgssapi
libkern Fix unloading of libiconv module. 2012-06-11 17:42:39 +00:00
mips Fix obvious problem with emulate_fp sysctl. 2012-08-07 08:37:35 +00:00
modules Remove opt_enc.h from files committed with r235911. enc(4) is the 2012-07-30 03:00:58 +00:00
net After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
net80211 Fix an incorrect comment. 2012-08-08 17:16:06 +00:00
netatalk
netgraph Remove duplicate check. 2012-08-03 12:55:31 +00:00
netinet s/lenght/length/ in comments 2012-08-07 07:52:25 +00:00
netinet6 Fix races between in_lltable_prefix_free(), lla_lookup(), 2012-08-02 13:57:49 +00:00
netipsec Fix a bug introduced in r221129 that leads to a panic wen using bundled 2012-07-22 17:46:05 +00:00
netipx
netnatm
netncp Add characters mapping for codepages used in Germany. 2012-06-01 03:59:08 +00:00
netsmb Change a duplicated check to clarify that we really want to set a 2012-07-10 21:02:59 +00:00
nfs
nfsclient After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
nfsserver
nlm
ofed After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
opencrypto
pc98 Partially revert r217515 so that the mem_range_softc variable is always 2012-07-09 20:42:08 +00:00
pci intpm: add ATI IXP400 pci id 2012-04-16 10:33:46 +00:00
powerpc Add backlight support for nVidia-based PowerBooks/iBooks/iMacs. 2012-08-04 03:05:01 +00:00
rpc
security Check vplabel for NULL before dereferencing it. Fixes a panic 2012-05-03 15:51:34 +00:00
sparc64 Merge r236494 from x86: 2012-08-05 22:03:13 +00:00
sys Fix typo. 2012-08-05 06:15:12 +00:00
teken
tools
ufs After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
vm Never sleep on busy pages in vm_pageout_launder(), always skip them. Long 2012-08-07 04:48:14 +00:00
x86 During TSC synchronization test, use rdtsc() rather than rdtsc32(), to 2012-08-07 23:16:11 +00:00
xdr
xen blkif interface comment cleanups. No functional changes 2012-02-29 17:47:01 +00:00
Makefile Add sys/ofed to the 'make cscope' target. 2012-03-20 18:05:15 +00:00