freebsd-dev/sys
Conrad Meyer faefad9c12 ioat: Handle channel-fatal HW errors safely
Certain invalid operations trigger hardware error conditions.  Error
conditions that only halt one channel can be detected and recovered by
resetting the channel.  Error conditions that halt the whole device are
generally not recoverable.

Add a sysctl to inject channel-fatal HW errors,
'dev.ioat.<N>.force_hw_error=1'.

When a halt due to a channel error is detected, ioat(4) blocks new
operations from being queued on the channel, completes any outstanding
operations with an error status, and resets the channel before allowing
new operations to be queued again.

Update ioat.4 to document error recovery;  document blockfill introduced
in r290021 while we are here;  document ioat_put_dmaengine() added in
r289907;  document DMA_NO_WAIT added in r289982.

Sponsored by:	EMC / Isilon Storage Division
2015-10-31 20:38:06 +00:00
..
amd64 pmap_change_attr: Only fixup DMAP for DMAPed ranges 2015-10-29 19:07:00 +00:00
arm Fix framebuffer compatibility with new RPi firmware. Framebuffer driver 2015-10-30 00:24:37 +00:00
arm64 Mark functions as such. This means we call them directly rather than have 2015-10-27 22:24:57 +00:00
boot Make vers.c creation atomic by using a temporary file, then moving 2015-10-24 21:59:58 +00:00
bsm
cam Don't try to replicate mode pages not present on this device. 2015-10-26 14:14:56 +00:00
cddl l2arc: do not call trim_map_free() for blocks with zero b_asize 2015-10-30 12:00:34 +00:00
compat Finish process of moving the LinuxKPI module into the default kernel build. 2015-10-29 08:28:39 +00:00
conf Finish process of moving the LinuxKPI module into the default kernel build. 2015-10-29 08:28:39 +00:00
contrib Fix BULK read transfer if destination buffer is not cache line-aligned. 2015-10-30 01:19:04 +00:00
crypto const'ify an arg that we don't update... 2015-07-29 23:37:15 +00:00
ddb Make kstack_pages a tunable on arm, x86, and powepc. On i386, the 2015-08-10 17:18:21 +00:00
dev ioat: Handle channel-fatal HW errors safely 2015-10-31 20:38:06 +00:00
fs Ensure that when a blockable open of fifo returns success, a valid 2015-09-20 21:18:33 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom Remove compatibility shims for legacy ATA device names. 2015-10-11 13:01:51 +00:00
gnu Fixing a memory leak on module unloading. 2015-09-11 22:43:35 +00:00
i386 The prefix for CLFLUSHOPT is 0x66. It was right on amd64. 2015-10-30 09:53:33 +00:00
isa
kern The error classification from lower layers is a poor indicator of 2015-10-31 04:53:07 +00:00
kgssapi
libkern libkern: ffs, fls: s/4/3/ the 3rd BSD clause 2015-10-22 21:04:47 +00:00
mips mips: do mips_sync() on sync operations to uncachable memory. 2015-10-31 00:29:26 +00:00
modules Finish process of moving the LinuxKPI module into the default kernel build. 2015-10-29 08:28:39 +00:00
net Avoid passing an uninitialized 'i'. Currently nothing was depending on it 2015-10-29 18:58:18 +00:00
net80211 net80211: add ieee80211_restart_all() call. 2015-10-27 20:40:57 +00:00
netgraph Bluetooth LE Security Management channel support. 2015-10-27 03:42:26 +00:00
netinet Set the proper direction to check for policies in this one case. 2015-10-29 21:26:32 +00:00
netinet6 Use m_cat() to reassembly IPv6 packets. 2015-10-27 22:11:09 +00:00
netipsec Turning on IPSEC used to introduce a slight amount of performance 2015-10-27 00:42:15 +00:00
netnatm
netpfil pf: Fix IPv6 checksums with route-to. 2015-10-29 20:45:53 +00:00
netsmb
nfs Wait up to 10 seconds for late-initializing network interfaces to arrive. 2015-09-26 13:55:55 +00:00
nfsclient
nfsserver
nlm
ofed Finish process of moving the LinuxKPI module into the default kernel build. 2015-10-29 08:28:39 +00:00
opencrypto Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
pc98 Remove compatibility shims for legacy ATA device names. 2015-10-11 13:01:51 +00:00
powerpc Print unsigned memory sizes, to handle >2GB RAM on 32-bit powerpc. 2015-10-31 02:08:39 +00:00
rpc Increase group limit for kerberized NFSv4 2015-09-26 16:30:16 +00:00
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 Add support for weak symbols to the kernel linkers. It means that 2015-09-20 01:27:59 +00:00
sys Merge OpenSSL 1.0.2d. 2015-10-30 20:51:33 +00:00
teken Sync HPA and VPA implementations with CUP. 2015-08-24 07:49:27 +00:00
tools Rename the /usr/share/doc/legal files to driver.LICENSE to work around 2015-10-16 00:38:05 +00:00
ufs Do not perform read-ahead for BA_CLRBUF request when we are low on 2015-10-27 13:44:13 +00:00
vm Reduce the amount of calls to VOP_BMAP() made from the local vnode 2015-10-24 21:59:22 +00:00
x86 x86/dma_bounce: revert r289834 and r289836 2015-10-26 14:50:35 +00:00
xdr
xen xen: Code cleanup and small bug fixes 2015-10-21 10:44:07 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00