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. - : 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