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

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

 



On 05/27/05 04:36, Jeff Garzik wrote:
> Christoph Hellwig wrote:
>>No, hav ing the host_lock only held for ->queuecommand which doesn't
>>need that locking doesn't make any sense.  An API like the current one
> 
> 
> It makes a lot of sense:  LLDs are written with the assumption that 
> paths called from ->queuecommand will not be interrupted by their own 
> interrupt handler, whereas error handling paths are typically written 
> with precisely the -opposite- assumption.
> 
> Removing spin_lock_irq() from queuecommand in SCSI EH causes problems, 
> and solves nothing.

scsi_done() itself needs no explicit locking, it is completely reentrant
and this is a good thing.

I'd like to see the same thing for queuecommand(), i.e. host_lock be gone.

Modern HA and their LLDD, implement completely reentrant queuecommand()
and can deliver commands back to SCSI Core, via scsi_done(), _simultaneously_.
I.e. no concurrency between queuecommand() and scsi_done() is necessary.

This will greatly "free up" design and logic in LLDD to achieve greater
throughput.

Sleeping in EH is good.

	Luben

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