Re: SCSI access creating lost time

Doug Ledford (dledford@redhat.com)
Sun, 07 Mar 1999 18:19:46 -0500


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/