alistair23-linux/drivers
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
..
acorn
acpi mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
amba
ata libata: implement EH fast drain 2007-07-20 08:26:26 -04:00
atm
auxdisplay
base PM: Do not require dev spew to get PM_DEBUG 2007-07-19 10:04:42 -07:00
block mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
bluetooth
cdrom
char random: fix bound check ordering (CVE-2007-3105) 2007-07-19 14:21:04 -07:00
clocksource
connector
cpufreq
crypto
dio
dma
edac drivers/edac: fix edac_device sysfs corner case bug 2007-07-19 10:04:57 -07:00
eisa
fc4
firewire firewire: fw-sbp2: convert to new SCSI data buffer accessors 2007-07-18 23:53:28 +02:00
firmware
hid
hwmon Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 2007-07-19 14:24:57 -07:00
i2c Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 2007-07-19 14:24:57 -07:00
ide ide: add support for SCSI ioctls to ide-floppy 2007-07-20 01:11:59 +02:00
ieee1394 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
infiniband mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
input some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
isdn isdn/sc: compile breakage re check_reset() 2007-07-19 10:04:50 -07:00
kvm mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
leds
lguest lguest: the Makefile and Kconfig 2007-07-19 10:04:52 -07:00
macintosh some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
mca
md mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
media some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
message mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
mfd some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
misc some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
mmc some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
mtd mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
net Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-07-19 10:23:21 -07:00
nubus some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
oprofile
parisc
parport some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
pci some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
pcmcia PM: remove deprecated dpm_runtime_* routines 2007-07-18 15:49:49 -07:00
pnp some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
power
ps3
rapidio some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
rtc RTC: add periodic irq support to rtc-cmos 2007-07-19 10:04:52 -07:00
s390 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
sbus some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
scsi mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
serial some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sh some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sn some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
spi
tc
telephony some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
uio UIO: Hilscher CIF card driver 2007-07-18 15:57:16 -07:00
usb mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-07-19 14:28:19 -07:00
w1 some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
xen
zorro
Kconfig lguest: the Makefile and Kconfig 2007-07-19 10:04:52 -07:00
Makefile lguest: the Makefile and Kconfig 2007-07-19 10:04:52 -07:00