linux/drivers/message/fusion
Jeff Garzik f281233d3e SCSI host lock push-down
Move the mid-layer's ->queuecommand() invocation from being locked
with the host lock to being unlocked to facilitate speeding up the
critical path for drivers who don't need this lock taken anyway.

The patch below presents a simple SCSI host lock push-down as an
equivalent transformation.  No locking or other behavior should change
with this patch.  All existing bugs and locking orders are preserved.

Additionally, add one parameter to queuecommand,
	struct Scsi_Host *
and remove one parameter from queuecommand,
	void (*done)(struct scsi_cmnd *)

Scsi_Host* is a convenient pointer that most host drivers need anyway,
and 'done' is redundant to struct scsi_cmnd->scsi_done.

Minimal code disturbance was attempted with this change.  Most drivers
needed only two one-line modifications for their host lock push-down.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Acked-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-11-16 13:33:23 -08:00
..
lsi trivial: Miscellaneous documentation typo fixes 2009-06-12 18:01:47 +02:00
Kconfig [SCSI] mpt fusion: Kconfig cleanup 2007-10-12 14:48:53 -04:00
Makefile [SCSI] mpt fusion: logging support in Kconfig, Makefile, mptbase.h and addition of mptdebug.h 2007-07-28 11:25:35 -04:00
mptbase.c [SCSI] drivers/message/fusion: Return -ENOMEM on memory allocation failure 2010-09-05 14:55:57 -03:00
mptbase.h mpt fusion: convert to seq_file 2010-08-11 08:59:00 -07:00
mptctl.c scsi: autoconvert trivial BKL users to private mutex 2010-09-15 21:00:45 +02:00
mptctl.h [SCSI] mpt fusion : Updated copyright statment with 2008 included 2008-06-05 09:27:17 -05:00
mptdebug.h [SCSI] mpt fusion: Fixing 1078 data corruption issue for 36GB memory region 2009-06-09 17:21:31 -05:00
mptfc.c SCSI host lock push-down 2010-11-16 13:33:23 -08:00
mptlan.c [SCSI] mptfusion: Extra debug prints added relavent to Device missing delay error handling 2010-07-28 09:07:47 -05:00
mptlan.h mptlan: Kill directly reference of netdev->priv 2008-12-03 21:13:37 -08:00
mptsas.c SCSI host lock push-down 2010-11-16 13:33:23 -08:00
mptsas.h [SCSI] mptfusion: Added sanity to check B_T mapping for device before adding to OS 2010-07-27 12:02:32 -05:00
mptscsih.c [SCSI] mptfusion: Block Error handling for deleting devices or Device in DMD 2010-07-28 09:07:46 -05:00
mptscsih.h [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
mptspi.c SCSI host lock push-down 2010-11-16 13:33:23 -08:00