kernel_optimize_test/drivers
NeilBrown a8c906ca3f md/raid5 - avoid deadlocks in get_active_stripe during reshape
md has functionality to 'quiesce' and array so that all pending
IO completed and no new IO starts.  This is used to achieve a
stable state before making internal changes.

Currently this quiescing applies equally to normal IO, resync
IO, and reshape IO.
However there is a problem with applying it to reshape IO.
Reshape can have multiple 'stripe_heads' that must be active together.
If the quiesce come between allocating the first and the last of
such a collection, then we deadlock, as the last will not be allocated
until the quiesce is lifted, the quiesce will not be lifted until the
first (which has been allocated) gets used, and that first cannot be
used until the last is allocated.

It is not necessary to inhibit reshape IO when a quiesce is
requested.  Those places in the code that require a full quiesce will
ensure the reshape thread is not running at all.

So allow reshape requests to get access to new stripe_heads without
being blocked by a 'quiesce'.

This only affects in-place reshapes (i.e. where the array does not
grow or shrink) and these are only newly supported.  So this patch is
not needed in earlier kernels.

Signed-off-by: NeilBrown <neilb@suse.de>
2009-06-09 14:39:59 +10:00
..
accessibility
acpi Merge branches 'bugzilla-13121+', 'bugzilla-13233', 'redhat-bugzilla-500311', 'pci-bind-oops', 'misc-2.6.30' and 'i7300_idle' into release 2009-05-29 21:30:01 -04:00
amba
ata [libata] pata_ali: Use IGN_SIMPLEX 2009-06-05 17:10:54 -04:00
atm
auxdisplay
base Driver Core: do not oops when driver_unregister() is called for unregistered drivers 2009-05-28 14:24:07 -07:00
block xen/blkfront: fix warning when deleting gendisk on unplug/shutdown 2009-05-19 08:27:42 +02:00
bluetooth
cdrom cdrom: beyond ARRAY_SIZE of viocd_diskinfo 2009-05-20 08:42:06 +02:00
char drivers/char/mem.c: avoid OOM lockup during large reads from /dev/zero 2009-06-04 15:20:39 -07:00
clocksource clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
connector
cpufreq [CPUFREQ] fix timer teardown in ondemand governor 2009-05-26 12:04:50 -04:00
cpuidle
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2009-05-17 15:48:05 -07:00
dca
dio
dma Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2009-05-30 07:57:44 -07:00
edac edac: AMD8111 & AMD8131 Kconfig fixup 2009-05-29 08:40:03 -07:00
eisa
firewire
firmware ibft: fix the display of a few fields in the NIC attribute structure in sysfs 2009-05-02 15:36:10 -07:00
gpio
gpu Revert "drm: don't associate _DRM_DRIVER maps with a master" 2009-06-05 10:21:52 -07:00
hid HID: add NOGET quirk for devices from CH Products 2009-05-11 17:09:21 +02:00
hwmon hwmon: (lm78) Add missing __devexit_p() 2009-06-01 13:46:49 +02:00
i2c Merge branch 'i2c-for-2630-rc5' of git://aeryn.fluff.org.uk/bjdooks/linux 2009-05-12 11:21:51 -07:00
ide ide_pci_generic: add quirk for Netcell ATA RAID 2009-05-30 20:06:54 +02:00
idle i7300_idle: allow testing on i5000-series hardware w/o re-compile 2009-05-28 20:52:40 -04:00
ieee1394
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2009-05-13 16:31:12 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-05-29 08:48:25 -07:00
isdn gigaset: beyond ARRAY_SIZE of iwb->data 2009-05-21 15:04:15 -07:00
leds
lguest lguest: fix on Intel when KVM loaded (unhandled trap 13) 2009-05-26 12:13:11 -07:00
macintosh Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2009-04-24 08:16:05 -07:00
mca
md md/raid5 - avoid deadlocks in get_active_stripe during reshape 2009-06-09 14:39:59 +10:00
media ivtv: Fix PCI DMA direction 2009-06-05 08:05:23 -07:00
memstick
message scsi: mpt: suppress debugobjects warning 2009-04-21 13:41:50 -07:00
mfd mfd: pcf50633: fix unsafe disable_irq() 2009-05-19 22:22:28 +02:00
misc [SCSI] ses: fix problems caused by empty SES provided name 2009-05-15 12:20:57 -04:00
mmc [ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void * 2009-05-20 23:26:51 +01:00
mtd mtd: davinci nand: update clock naming 2009-06-05 11:54:17 -07:00
net e1000: add missing length check to e1000 receive routine 2009-06-02 01:29:58 -07:00
nubus
of
oprofile oprofile: fix cpu buffer size 2009-05-07 17:28:59 +02:00
parisc
parport parport: quickfix the proc registration bug 2009-06-02 09:53:22 -07:00
pci PCI: use fixed-up device class when configuring device 2009-06-04 11:29:43 +01:00
pcmcia [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config 2009-04-23 23:25:40 +01:00
platform eeepc-laptop: unregister_rfkill_notifier on failure 2009-05-14 11:28:27 -04:00
pnp ACPI: suspend: don't let device _PS3 failure prevent suspend 2009-05-08 00:22:29 -04:00
power
ps3
rapidio
regulator regulator: da903x: add missing __devexit_p() 2009-05-18 11:21:10 +01:00
rtc [ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void * 2009-05-20 23:26:51 +01:00
s390 [SCSI] zfcp: Fix oops when port disappears 2009-04-27 10:07:37 -05:00
sbus
scsi [SCSI] mpt2sas: fix driver version inconsistency 2009-05-18 14:17:17 -05:00
serial 8250: Fix oops from setserial 2009-05-29 08:42:38 -07:00
sh
sn
spi pxa2xx_spi: prevent panic case setup() fails 2009-05-12 14:11:34 -07:00
ssb
staging Staging: comedi: David doesn't want to get comedi patches 2009-05-08 19:39:28 -07:00
tc
telephony
thermal thermal: fix off-by-1 error in trip point trigger condition 2009-05-14 13:40:53 -04:00
uio
usb Revert "USB: Correct Makefile to make isp1760 buildable" 2009-05-28 13:54:43 -07:00
uwb
video atmel_lcdfb: correct fifo size for some products 2009-05-29 08:40:03 -07:00
virtio virtio: fix suspend when using virtio_balloon 2009-04-19 23:14:01 +09:30
w1
watchdog [ARM] 5460/1: Orion: reduce namespace pollution 2009-04-23 23:25:41 +01:00
xen [IA64] xen_domu_defconfig: fix build issues/warnings 2009-05-05 11:43:13 -07:00
zorro
Kconfig
Makefile V4L/DVB (11561a): move media after i2c 2009-04-29 15:41:13 -03:00