On Sat, 10 Feb 2001, Justin T. Gibbs wrote:

> >Well the driver isnt allowed to hold interrupts off for > 1 tick because
> >that messes up the clock, and at 1 second the watchdog nmi will reboot
> >
> >scsi driver authors therefore need to adjust their drivers
> 
> If you ask me, it is a bug that the io_request lock is forced on low
> level drivers at all.  90% of the aic7xxx driver pretends that the
> io_request_lock doesn't exist, relying instead on a per-controller instance
> lock.  The interrupt handler only aquires the io_request lock for calls back
> into the mid-layer as it is expected to be held (although the mid-layer
> almost instantly releases it again).  I also immediately release the
> io_request_lock in all of my error recovery entry points because I don't
> need the protection and, as you say, we can't lock up the system while we're
> waiting for recovery actions to complete.

Agreed. Good point for the theory. But in practice, entering driver
methods without any lock against the access method may lead to subtle
races. At least Linux/SCSI hasn't this kind of races.
Btw, I am not so sure about FreeBSD/CAM, for example. :-)

  Gérard.

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to