1
linux/include
Tejun Heo 5ddf24c5ea libata: implement EH fast drain
In most cases, when EH is scheduled, all in-flight commands are
aborted causing EH to kick in immediately.  However, in some cases
(especially with PMP), it's unclear which commands are affected by the
error condition and although aborting all in-flight commands work, it
isn't optimal and may cause unnecessary disruption.  On the other
hand, waiting for in-flight commands to drain themselves can take up
to 30seconds.

This patch implements EH fast drain to handle such situations.  It
gives in-flight commands some time to finish up but doesn't wait for
too long.  After EH is scheduled, fast drain timer is started and if
no other completion occurs in ATA_EH_FASTDRAIN_INTERVAL all in-flight
commands are aborted.  If any completion occurred in the interval, the
port is given another interval to finish up itself.

Currently ATA_EH_FASTDRAIN_INTERVAL is 3 secs which should be enough
for finishing up most commands.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-07-20 08:26:26 -04:00
..
acpi
asm-alpha [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-arm [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-arm26 [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-avr32 arch: personality independent stack top 2007-07-19 10:04:45 -07:00
asm-blackfin fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-cris arch: personality independent stack top 2007-07-19 10:04:45 -07:00
asm-frv arch: personality independent stack top 2007-07-19 10:04:45 -07:00
asm-generic i386: Put allocated ELF notes in read-only data segment 2007-07-19 10:04:47 -07:00
asm-h8300 arch: personality independent stack top 2007-07-19 10:04:45 -07:00
asm-i386 i386: Allow KVM on i386 nonpae 2007-07-19 14:37:05 -07:00
asm-ia64 [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-m32r [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-m68k arch: personality independent stack top 2007-07-19 10:04:45 -07:00
asm-m68knommu m68knommu: remove is_in_rom() function 2007-07-19 10:04:51 -07:00
asm-mips [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-parisc [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-powerpc [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-ppc [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-s390 [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-sh [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-sh64 arch: personality independent stack top 2007-07-19 10:04:45 -07:00
asm-sparc [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-sparc64 [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-um arch: personality independent stack top 2007-07-19 10:04:45 -07:00
asm-v850 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-x86_64 [PATCH] sched: sched_cacheflush is now unused 2007-07-19 21:28:35 +02:00
asm-xtensa arch: personality independent stack top 2007-07-19 10:04:45 -07:00
crypto
keys
linux libata: implement EH fast drain 2007-07-20 08:26:26 -04:00
math-emu
media V4L/DVB (5835): saa7146/dvb-ttpci: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22) 2007-07-18 14:24:44 -03:00
mtd UBI: kill homegrown endian macros 2007-07-18 16:53:49 +03:00
net Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 2007-07-19 14:42:40 -07:00
pcmcia
rdma
rxrpc
scsi [SCSI] Remove unused method scsi_device_cancel 2007-07-14 16:01:16 -05:00
sound
video tgafb: actually allocate memory for the pseudo_palette 2007-07-17 10:23:12 -07:00
xen xen: Place vcpu_info structure into per-cpu memory 2007-07-18 08:47:45 -07:00
Kbuild