Re: [PATCH] scsi: Add SHT->unlocked_qcmd for host_lock less SHT->queuecommand() dispatch

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

 



On 10/26/2010 07:32 PM, Nicholas A. Bellinger wrote:
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
index fec47de..f5933dd 100644
--- a/drivers/scsi/iscsi_tcp.c
+++ b/drivers/scsi/iscsi_tcp.c
@@ -882,6 +882,7 @@ static struct scsi_host_template iscsi_sw_tcp_sht = {
  	.target_alloc		= iscsi_target_alloc,
  	.proc_name		= "iscsi_tcp",
  	.this_id		= -1,
+	.unlocked_qcmd		= 1,
  };

  static struct iscsi_transport iscsi_sw_tcp_transport = {
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index 633e090..7e4134e 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -1615,7 +1615,6 @@ int iscsi_queuecommand(struct scsi_cmnd *sc, void (*done)(struct scsi_cmnd *))

  	host = sc->device->host;
  	ihost = shost_priv(host);
-	spin_unlock(host->host_lock);

  	cls_session = starget_to_session(scsi_target(sc->device));
  	session = cls_session->dd_data;
@@ -1706,7 +1705,6 @@ int iscsi_queuecommand(struct scsi_cmnd *sc, void (*done)(struct scsi_cmnd *))

  	session->queued_cmdsn++;
  	spin_unlock(&session->lock);
-	spin_lock(host->host_lock);
  	return 0;

  prepd_reject:
@@ -1716,7 +1714,6 @@ reject:
  	spin_unlock(&session->lock);
  	ISCSI_DBG_SESSION(session, "cmd 0x%x rejected (%d)\n",
  			  sc->cmnd[0], reason);
-	spin_lock(host->host_lock);
  	return SCSI_MLQUEUE_TARGET_BUSY;

  prepd_fault:
@@ -1733,7 +1730,6 @@ fault:
  		scsi_in(sc)->resid = scsi_in(sc)->length;
  	}
  	done(sc);
-	spin_lock(host->host_lock);
  	return 0;
  }
  EXPORT_SYMBOL_GPL(iscsi_queuecommand);


Hey,

iscsi_tcp, drivers/infiniband/ulp/iser/ib_iser, drivers/scsi/cxgb3i, drivers/scsi/bnx2i, and drivers/scsi/be2iscsi use libiscsi's iscsi_queuecommand function, so they should all use the same setting unlocked_qcmd=1.
--
To unsubscribe from this list: 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