Messages in this thread | | | Date | Mon, 15 Dec 2003 07:20:03 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: 'bad: scheduling while atomic!', preempt kernel, 2.6.1-test11, reading an apparently duff DVD-R |
| |
On Mon, 15 Dec 2003, Toad wrote: > > I got the following when trying to mount a particular DVD-R on Linux > 2.6.0-test11, using an IDE DVD-RW drive, using SCSI emulation, with the > preempt kernel option enabled, and taskfile I/O: > (the middle bit was repeated several times):
ide-scsi does
spin_lock_irqsave(&ide_lock, flags); while (HWGROUP(drive)->handler) { HWGROUP(drive)->handler = NULL; schedule_timeout(1); }
which is obvious crap. Scheduling while holding a spinlock is not a good idea.
You could try dropping the lock over the schedule and re-aquire it afterwards, but the comment tries to say that it is required for avoiding new requests.
This is why ide-scsi needs a maintainer, btw - somebody who cares about it, and actually tries to resolve the current mess.
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |