public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
To: linux-scsi <linux-scsi@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Vasu Dev <vasu.dev@linux.intel.com>,
	Tim Chen <tim.c.chen@linux.intel.com>, Andi Kleen <ak@linux>
Cc: James Smart <james.smart@emulex.com>,
	Andrew Vasquez <andrew.vasquez@qlogic.com>,
	FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>,
	Hannes Reinecke <hare@suse.de>, Joe Eykholt <jeykholt@cisco.com>,
	Christoph Hellwig <hch@lst.de>,
	Nicholas Bellinger <nab@linux-iscsi.org>
Subject: [PATCH 0/8] Drop host_lock around LLD SHT->queuecommand() caller
Date: Thu, 16 Sep 2010 15:35:21 -0700	[thread overview]
Message-ID: <1284676521-10737-1-git-send-email-nab@linux-iscsi.org> (raw)

From: Nicholas Bellinger <nab@linux-iscsi.org>

Greetings all,

This series contains the first round of a whole-sale conversion for droping
struct Scsi_Host->host_lock around struct Scsi_Host->queuecommand() within
scsi_dispatch_cmd().  So with this first patch the only part of scsi_dispatch_cmd()
that is protected by host_lock is scsi_cmd_get_serial)_.

The patches #2 -> #8 converts libiscsi, libsas, lpfc, qla4xxx, qla2xxx,
TCM_Loop, and libfc code to drop their own SHT->queuecommand() internal
host_lock unlock() + lock() optimization that certain high performance libs
and LLDs have adopted over the years.  The changes involved here are really
quite straight forward, but please note that none of this code has been tested
with actual hardware yet, and is intended for generating comments for the relivent
SCSI LLD driver maintainers and other interested folks.

There are probably still be more LLDs which use this optimization, so please
let me know if there is another piece of SHT->queuecommand() caller code that
does this legacy optimization and needs to be updated.  I will be sure to
CC the right driver maintainers and CC linux-scsi as I come across any more
conversions.

Many thanks to Vasu Dev and Tim Chen for their work in this area!!

Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>

Nicholas Bellinger (8):
  scsi: Drop struct Scsi_Host->host_lock around SHT->queuecommand()
  libiscsi: Remove host_lock unlock() + lock() from
    iscsi_queuecommand()
  libsas: Remove host_lock unlock() + lock() from sas_queuecommand()
  lpfc: Remove host_lock unlock() + lock() from lpfc_queuecommand()
  qla4xxx: Remove host_lock unlock() + lock() from
    qla4xxx_queuecommand()
  qla2xxx: Remove host_lock unlock() + lock() from
    qla2xxx_queuecommand()
  tcm_loop: Remove host_lock unlock() + lock() from
    tcm_loop_queuecommand()
  libfc: Remove host_lock unlock() + lock() from fc_queuecommand()

 drivers/scsi/libfc/fc_fcp.c                    |    5 +----
 drivers/scsi/libiscsi.c                        |    4 ----
 drivers/scsi/libsas/sas_scsi_host.c            |    5 -----
 drivers/scsi/lpfc/lpfc_scsi.c                  |    2 --
 drivers/scsi/qla2xxx/qla_os.c                  |    7 ++-----
 drivers/scsi/qla4xxx/ql4_os.c                  |    8 +-------
 drivers/scsi/scsi.c                            |    3 ++-
 drivers/target/tcm_loop/tcm_loop_fabric_scsi.c |    7 -------
 8 files changed, 6 insertions(+), 35 deletions(-)

-- 
1.7.2.3


             reply	other threads:[~2010-09-16 22:35 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-16 22:35 Nicholas A. Bellinger [this message]
2010-09-16 22:39 ` [PATCH 0/8] Drop host_lock around LLD SHT->queuecommand() caller Nicholas A. Bellinger
2010-09-16 23:01 ` Nicholas A. Bellinger
2010-09-16 23:18   ` Nicholas A. Bellinger
2010-09-16 23:26 ` Chetan Loke
2010-09-16 23:28   ` Nicholas A. Bellinger
2010-09-17  1:29 ` Tim Chen
2010-09-17  1:31   ` Nicholas A. Bellinger
2010-09-17 18:26     ` Jeff Garzik
2010-09-17 18:24       ` Nicholas A. Bellinger
2010-09-17 19:01       ` Tim Chen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1284676521-10737-1-git-send-email-nab@linux-iscsi.org \
    --to=nab@linux-iscsi.org \
    --cc=ak@linux \
    --cc=andrew.vasquez@qlogic.com \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=james.smart@emulex.com \
    --cc=jeykholt@cisco.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=tim.c.chen@linux.intel.com \
    --cc=vasu.dev@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox