1
linux/drivers/scsi/lpfc
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
..
lpfc_attr.c [SCSI] lpfc 8.3.18: Fix critical errors 2010-10-26 10:42:27 -05:00
lpfc_bsg.c [SCSI] lpfc 8.3.18: Fix critical errors 2010-10-26 10:42:27 -05:00
lpfc_bsg.h [SCSI] lpfc 8.3.12: BSG Fixes and enhancements 2010-04-11 13:45:38 -05:00
lpfc_compat.h [SCSI] lpfc 8.3.16: SLI Additions, updates, and code cleanup 2010-08-06 12:09:24 -05:00
lpfc_crtn.h [SCSI] lpfc 8.3.18: Adapter Shutdown and Unregistration cleanup 2010-10-26 10:42:27 -05:00
lpfc_ct.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
lpfc_debugfs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
lpfc_debugfs.h
lpfc_disc.h [SCSI] lpfc 8.3.13: FC Discovery Fixes and enhancements. 2010-07-27 12:01:31 -05:00
lpfc_els.c [SCSI] lpfc 8.3.18: Add new WQE support 2010-10-26 10:42:29 -05:00
lpfc_hbadisc.c [SCSI] lpfc 8.3.18: Adapter Shutdown and Unregistration cleanup 2010-10-26 10:42:27 -05:00
lpfc_hw4.h [SCSI] lpfc 8.3.18: Add new WQE support 2010-10-26 10:42:29 -05:00
lpfc_hw.h [SCSI] lpfc 8.3.18: Add support of received ELS commands 2010-10-25 16:36:18 -05:00
lpfc_init.c [SCSI] lpfc 8.3.18: Adapter Shutdown and Unregistration cleanup 2010-10-26 10:42:27 -05:00
lpfc_logmsg.h [SCSI] lpfc 8.3.10: Added round robin FCF failover 2010-03-03 19:10:09 +05:30
lpfc_mbox.c [SCSI] lpfc 8.3.18: Adapter Shutdown and Unregistration cleanup 2010-10-26 10:42:27 -05:00
lpfc_mem.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
lpfc_nl.h [SCSI] lpfc 8.3.8: (BSG1) Update BSG infrastructure 2010-02-08 18:39:02 -06:00
lpfc_nportdisc.c [SCSI] lpfc 8.3.13: Add TX Queue Support for SLI4 ELS commands. 2010-07-27 12:01:34 -05:00
lpfc_scsi.c SCSI host lock push-down 2010-11-16 13:33:23 -08:00
lpfc_scsi.h [SCSI] lpfc 8.3.8: BugFixes: SLI relates changes 2010-02-08 18:37:53 -06:00
lpfc_sli4.h [SCSI] lpfc 8.3.18: Adapter Shutdown and Unregistration cleanup 2010-10-26 10:42:27 -05:00
lpfc_sli.c [SCSI] lpfc 8.3.18: Add new WQE support 2010-10-26 10:42:29 -05:00
lpfc_sli.h [SCSI] lpfc 8.3.13: Add TX Queue Support for SLI4 ELS commands. 2010-07-27 12:01:34 -05:00
lpfc_version.h [SCSI] lpfc 8.3.18: Update lpfc driver version to 8.3.18 2010-10-26 10:42:29 -05:00
lpfc_vport.c [SCSI] lpfc 8.3.17: Code Cleanup and Locking fixes 2010-10-07 17:26:19 -05:00
lpfc_vport.h
lpfc.h [SCSI] lpfc 8.3.18: Add logic to detect last devloss timeout 2010-10-26 10:40:49 -05:00
Makefile [SCSI] lpfc 8.3.4: Add bsg (SGIOv4) support for ELS/CT support 2009-08-22 17:51:59 -05:00