Re: [RFC][PATCH] allow sleep inside EH hooks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 27, 2005 at 06:22:32PM +0100, Christoph Hellwig wrote:
> On Fri, May 27, 2005 at 01:04:49PM -0400, James Bottomley wrote:
> > On Fri, 2005-05-27 at 12:49 -0400, Jeff Garzik wrote:
> > > I'm also curious to see what others think about removing the host_lock 
> > > acquisition from ->queuecommand() calls.
> > 
> > Personally I don't see the need for it for two reasons:
> > 
> > 1) There are certain atomic ops in the mid layer issue that necessitate
> > we acquire it anyway (serial number generation and state model checking)
> > 2) All queuecommand routines should move to the model of either issuing
> > or rejecting the command ... if they do that, often there's no need for
> > the mucking with lock, they remain locked throughout.
> > 
> > On point 2), look at the changes to the aic7xxx driver.  Once its
> > internal issue queueing was pulled out, it no longer needs to muck with
> > the host lock in ahc_linux_queue.  If you don't enter this locked, it
> > would just have to take it at the top and release it before return, as
> > would most other well written drivers.
> 
> The only think host_lock in ->queuecommand protects against is the
> interrupt handler, which is completely in the driver.  At which point
> it makes lots of sense to use a driver-private lock for it.  Even better
> we can get the scsi subsystem out of the irq disabling business once
> all drivers use their own locks in the interrupt handler.

Don't forget...

We still need to have some mechanism for handling the request_queue's
locking.

	Jeff



-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux