linux/drivers
Ian Campbell b4606f2165 xen: explicitly create/destroy stop_machine workqueues outside suspend/resume region.
I have observed cases where the implicit stop_machine_destroy() done by
stop_machine() hangs while destroying the workqueues, specifically in
kthread_stop(). This seems to be because timer ticks are not restarted
until after stop_machine() returns.

Fortunately stop_machine provides a facility to pre-create/post-destroy
the workqueues so use this to ensure that workqueues are only destroyed
after everything is really up and running again.

I only actually observed this failure with 2.6.30. It seems that newer
kernels are somehow more robust against doing kthread_stop() without timer
interrupts (I tried some backports of some likely looking candidates but
did not track down the commit which added this robustness). However this
change seems like a reasonable belt&braces thing to do.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Stable Kernel <stable@kernel.org>
2009-12-03 11:14:56 -08:00
..
accessibility
acpi Merge branch 'misc' into release 2009-10-15 00:47:13 -04:00
amba
ata sata_mv: Prevent PIO commands to be defered too long if traffic in progress. 2009-10-16 06:22:46 -04:00
atm
auxdisplay
base
block virtio_blk: Revert serial number support 2009-10-22 16:39:30 +10:30
bluetooth
cdrom
char xen/hvc: make sure console output is always emitted, with explicit polling 2009-11-03 11:05:51 -08:00
clocksource
connector connector: Fix incompatible pointer type warning 2009-10-06 01:39:51 -07:00
cpufreq
cpuidle
crypto
dca
dio
dma
edac amd64_edac: fix DRAM base and limit extraction masks, v2 2009-10-16 18:51:22 +02:00
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-10-14 15:36:19 -07:00
firmware iSCSI/iBFT: use proper address translation 2009-10-05 12:05:40 -07:00
gpio
gpu Merge branch 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel 2009-10-09 09:19:23 -07:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2009-10-13 10:10:33 -07:00
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2009-10-11 11:23:33 -07:00
i2c i2c: Hide probe errors caused by ACPI resource conflicts 2009-10-04 22:53:45 +02:00
ide ahci / atiixp / pci quirks: rename AMD SB900 into Hudson-2 2009-10-16 06:21:20 -04:00
idle
ieee1394 headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
ieee802154
infiniband headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-10-22 08:27:12 +09:00
isdn headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
leds leds: leds-pca9532 - Drop unused module parameters 2009-10-04 22:53:43 +02:00
lguest headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
macintosh powerpc/pmac: Fix issues with sleep on some powerbooks 2009-10-14 16:58:35 +11:00
mca
md dm snapshot: allow chunk size to be less than page size 2009-10-16 23:18:22 +01:00
media headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
memstick
message headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
mfd mfd: Fix twl4030 boot with twl4030 usb transceiver enabled 2009-10-12 15:19:23 +02:00
misc headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
mmc mmc: at91_mci: Don't include asm/mach/mmc.h 2009-10-22 08:22:25 +09:00
mtd headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-10-23 07:35:16 +09:00
nubus
of
oprofile oprofile: warn on freeing event buffer too early 2009-10-09 21:32:05 +02:00
parisc
parport
pci ahci / atiixp / pci quirks: rename AMD SB900 into Hudson-2 2009-10-16 06:21:20 -04:00
pcmcia Merge master.kernel.org:/home/rmk/linux-2.6-arm 2009-10-02 16:20:43 -07:00
platform Merge branch 'misc' into release 2009-10-15 00:47:13 -04:00
pnp
power
pps
ps3
rapidio
regulator
rtc headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
s390 [S390] sclp_vt220 build fix 2009-10-14 12:43:54 +02:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2009-10-11 11:12:33 -07:00
serial tty, serial: Fix race and NULL check in uart_close() 2009-10-12 10:21:33 -07:00
sfi SFI: remove __init from sfi_verify_table 2009-10-03 01:16:12 -04:00
sh
sn
spi ARM: 5741/1: pl022: fix peripheral id for ST vendor 2009-10-05 17:55:55 +01:00
ssb
staging Staging: rt2860sta: prevent a panic when disabling when associated 2009-10-14 14:14:40 -07:00
tc
telephony
thermal
uio headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
usb USB: gadget: Fix EEM driver comments and VID/PID 2009-10-14 14:54:44 -07:00
uwb headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
video Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 2009-10-08 12:01:01 -07:00
virtio move virtballoon_remove to .devexit.text 2009-10-22 16:39:31 +10:30
vlynq
w1 ds2482: Discard obsolete detect method 2009-10-04 22:53:41 +02:00
watchdog watchdog: Fix rio watchdog probe function 2009-10-14 01:18:26 -07:00
xen xen: explicitly create/destroy stop_machine workqueues outside suspend/resume region. 2009-12-03 11:14:56 -08:00
zorro
Kconfig
Makefile