Messages in this thread | | | Date | Thu, 9 Sep 1999 14:22:23 -0700 | From | "Leonard N. Zubkoff" <> | Subject | Re: BusLogic + SMP == broke |
| |
From: Brian Macy <bmacy@sunshinecomputing.com> Date: Wed, 08 Sep 1999 22:35:52 -0700 Not so lucky... what happens nearly every time: Do a preview scan (xsane, net SANE, or xscanimage) Do a scan at 300dpi Stops part way into the scan and the app doing the scanning locks About 30seconds later the entire machine locks solid, no message, no anything
>From looking at the driver, it isn't doing proper locking. The only thing using spinlocks is the ISR itself... which is of little use since the other side of the command queue'ing isn't locked. There are stubs for non-ISR locks but the function are NOPs. If you do make the functions call spinlocks the driver locks up on detection (my guess is deadlocking on the spinlock). I'm not sure this is the real problem as I'd expect kernel oops over poor resource contention.
Unless something has changed recently, the SCSI subsystem is already acquiring the spinlock so the driver should not do so except in the interrupt handler. The BusLogic driver was written so that if the SCSI mid layer ever stopped doing locking or it was beneficial to have separare locks in the driver it would be relatively easy.
Leonard
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |