Re: Failure to release lock after CPU hot-unplug canceled

2007-01-09 Thread Benjamin Gilbert
Heiko Carstens wrote: On Tue, Jan 09, 2007 at 05:57:40PM +0530, Srivatsa Vaddagiri wrote: On Tue, Jan 09, 2007 at 01:17:38PM +0100, Heiko Carstens wrote: The workqueue code grabs a lock on CPU_[UP|DOWN]_PREPARE and releases it again on CPU_DOWN_FAILED/CPU_UP_CANCELED. If something in the callch

Re: Failure to release lock after CPU hot-unplug canceled

2007-01-09 Thread Heiko Carstens
On Tue, Jan 09, 2007 at 05:57:40PM +0530, Srivatsa Vaddagiri wrote: > On Tue, Jan 09, 2007 at 01:17:38PM +0100, Heiko Carstens wrote: > > missing in kernel cpu.c in _cpu_down() in case CPU_DOWN_PREPARE > > returned with NOTIFY_BAD. However... this reveals that there is just a > > more fundamental p

Re: Failure to release lock after CPU hot-unplug canceled

2007-01-09 Thread Srivatsa Vaddagiri
On Tue, Jan 09, 2007 at 01:17:38PM +0100, Heiko Carstens wrote: > missing in kernel cpu.c in _cpu_down() in case CPU_DOWN_PREPARE > returned with NOTIFY_BAD. However... this reveals that there is just a > more fundamental problem. > > The workqueue code grabs a lock on CPU_[UP|DOWN]_PREPARE and re

Re: Failure to release lock after CPU hot-unplug canceled

2007-01-09 Thread Heiko Carstens
On Mon, Jan 08, 2007 at 12:07:19PM -0500, Benjamin Gilbert wrote: > If a module returns NOTIFY_BAD to a CPU_DOWN_PREPARE callback, subsequent > attempts to take a CPU down cause the write into sysfs to wedge. > > This is reproducible in 2.6.20-rc4, but was originally found in 2.6.18.5. > > Steps

Failure to release lock after CPU hot-unplug canceled

2007-01-08 Thread Benjamin Gilbert
If a module returns NOTIFY_BAD to a CPU_DOWN_PREPARE callback, subsequent attempts to take a CPU down cause the write into sysfs to wedge. This is reproducible in 2.6.20-rc4, but was originally found in 2.6.18.5. Steps to reproduce: 1. Load the test module included below 2. Run the following s