Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90f951ed authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Christoph Hellwig
Browse files

mpt2sas: Remove use of DEF_SCSI_QCMD



Removing the host_lock from the I/O submission path gives a huge
scalability improvement.

Signed-off-by: default avatarMatthew Wilcox <matthew.r.wilcox@intel.com>
Reviewed-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
Reviewed-by: default avatarPraveen Krishnamoorthy <Praveen.krishnamoorthy@lsi.com>
Acked-by: default avatarSreekanth Reddy <Sreekanth.reddy@lsi.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 2e45c8b7
Loading
Loading
Loading
Loading
+3 −6
Original line number Original line Diff line number Diff line
@@ -3950,9 +3950,9 @@ _scsih_setup_direct_io(struct MPT2SAS_ADAPTER *ioc, struct scsi_cmnd *scmd,
 * SCSI_MLQUEUE_HOST_BUSY if the entire host queue is full
 * SCSI_MLQUEUE_HOST_BUSY if the entire host queue is full
 */
 */
static int
static int
_scsih_qcmd_lck(struct scsi_cmnd *scmd, void (*done)(struct scsi_cmnd *))
_scsih_qcmd(struct Scsi_Host *shost, struct scsi_cmnd *scmd)
{
{
	struct MPT2SAS_ADAPTER *ioc = shost_priv(scmd->device->host);
	struct MPT2SAS_ADAPTER *ioc = shost_priv(shost);
	struct MPT2SAS_DEVICE *sas_device_priv_data;
	struct MPT2SAS_DEVICE *sas_device_priv_data;
	struct MPT2SAS_TARGET *sas_target_priv_data;
	struct MPT2SAS_TARGET *sas_target_priv_data;
	struct _raid_device *raid_device;
	struct _raid_device *raid_device;
@@ -3960,7 +3960,6 @@ _scsih_qcmd_lck(struct scsi_cmnd *scmd, void (*done)(struct scsi_cmnd *))
	u32 mpi_control;
	u32 mpi_control;
	u16 smid;
	u16 smid;


	scmd->scsi_done = done;
	sas_device_priv_data = scmd->device->hostdata;
	sas_device_priv_data = scmd->device->hostdata;
	if (!sas_device_priv_data || !sas_device_priv_data->sas_target) {
	if (!sas_device_priv_data || !sas_device_priv_data->sas_target) {
		scmd->result = DID_NO_CONNECT << 16;
		scmd->result = DID_NO_CONNECT << 16;
@@ -4080,8 +4079,6 @@ _scsih_qcmd_lck(struct scsi_cmnd *scmd, void (*done)(struct scsi_cmnd *))
	return SCSI_MLQUEUE_HOST_BUSY;
	return SCSI_MLQUEUE_HOST_BUSY;
}
}


static DEF_SCSI_QCMD(_scsih_qcmd)

/**
/**
 * _scsih_normalize_sense - normalize descriptor and fixed format sense data
 * _scsih_normalize_sense - normalize descriptor and fixed format sense data
 * @sense_buffer: sense data returned by target
 * @sense_buffer: sense data returned by target