Messages in this thread | | | Date | Sun, 07 Mar 1999 18:19:46 -0500 | From | Doug Ledford <> | Subject | Re: SCSI access creating lost time |
| |
Alan Cox wrote: > > > It's not coincidence. Both of you have polling based SCSI controllers > > where the drivers sit in tight loops waiting for things to happen inside > > of a spin_lock_irqsave(). There's nothing intelligent that can be done > > until the locking in the drivers/mid-level SCSI code is redone except > > switching to a SCSI controller/driver combo that doesn't spin wait for > > things like individual bytes on the SCSI bus. > > You drop the lock. In fact a lot drivers already do drop the lock, and > in fact have to drop the lock because of the way they work. If the lock > is unsafe when dropped that way then the entire mid layer scsi code needs > fixing in 2.2, which is going to suck
Whether or not you can drop the lock is a card dependant issue. It's not possible to simply say "Drop the lock" in all cases as some of the card drivers have notes in there that they can't be interrupted in any form while spinning or bad things happen, etc, etc. Someone is more than welcome to look into those drivers, but I personally haven't had the time to decipher that many more pieces of SCSI hardware than I already deal with. Secondly, be prepared to experience weird things when dropping these locks. If you get things right then that's great, but if you don't it may not show up until you have two cards in the same machine that are active at the same time or other similar scenarios to force the possible newly introduced bug up to the front.
-- Doug Ledford <dledford@redhat.com> Opinions expressed are my own, but they should be everybody's.
- 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/
| |