All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
To: Giridhar Malavali <giridhar.malavali@qlogic.com>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
	LinuxSCSI <linux-scsi@vger.kernel.org>,
	James Bottomley <James.Bottomley@suse.de>,
	Mike Christie <michaelc@cs.wisc.edu>,
	Andrew Vasquez <andrew.vasquez@qlogic.com>
Subject: Re: [ANNOUNCE] Status of unlocked_qcmds=1 operation for .37
Date: Wed, 20 Oct 2010 17:39:29 -0700	[thread overview]
Message-ID: <1287621569.10283.162.camel@haakon2.linux-iscsi.org> (raw)
In-Reply-To: <C8E4D7B7.A1F4%giridhar.malavali@qlogic.com>

On Wed, 2010-10-20 at 17:30 -0700, Giridhar Malavali wrote:
> 
> 
> On 10/20/10 4:19 PM, "Nicholas A. Bellinger" <nab@linux-iscsi.org> wrote:
> 
> > On Wed, 2010-10-20 at 15:37 -0700, Giridhar Malavali wrote:
> >> 
> >> 
> > 
> > <Trimming long CC'list>
> > 
> > Hi Giri,
> > 
> >> On 10/20/10 1:49 PM, "Nicholas A. Bellinger" <nab@linux-iscsi.org> wrote:
> >> 
> >>> Greetings all,
> >>> 
> >>> *) Individual LLDs running by default w/ unlocked_qcmds=1
> >>> 
> >>> aic94xx: need ack maintainer at adaptec..?)
> >>> mvsas: need ack maintainer at marvell..?)
> >>> pm8001: need ack Jang Wang
> >>> qla4xxx, qla2xxx: need ack Andrew Vasquez
> >>> fnic:  need ack Joe Eykholt
> >> 
> >> The qla2xxx driver is modified not to depend on the host_lock and also to
> >> drop usage of scsi_cmnd->serial_number. Both the patches are submitted to
> >> linux-scsi and you can find more information at
> >> 
> >> http://marc.info/?l=linux-scsi=128716779923700=2
> >> <http://marc.info/?l=linux-scsi&m=128716779923700&w=2>
> > 
> > Sure, but for the new fast unlocked_qcmds=1 operation in
> > qla2xxx_queuecommand(), the host_lock access needs to be complete
> > removed from SHT->queuecommand().   The above patch just moves the
> > vha->host->host_lock unlock up in queuecommand(),  right..?
> > 
> > diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
> > index b0c7139..77203b0 100644
> > --- a/drivers/scsi/qla2xxx/qla_os.c
> > +++ b/drivers/scsi/qla2xxx/qla_os.c
> > @@ -545,6 +545,7 @@ qla2xxx_queuecommand(struct scsi_cmnd *cmd, void
> > (*done)(struct scsi_cmnd *))
> >         srb_t *sp;
> >         int rval;
> > 
> > +       spin_unlock_irq(vha->host->host_lock);
> >         if (ha->flags.eeh_busy) {
> >                 if (ha->flags.pci_channel_io_perm_failure)
> >                         cmd->result = DID_NO_CONNECT << 16;
> > 
> > <SNIP>
> > 
> > @@ -603,9 +599,11 @@ qc24_host_busy_lock:
> >         return SCSI_MLQUEUE_HOST_BUSY;
> > 
> >  qc24_target_busy:
> > +       spin_lock_irq(vha->host->host_lock);
> >         return SCSI_MLQUEUE_TARGET_BUSY;
> > 
> >  qc24_fail_command:
> > +       spin_lock_irq(vha->host->host_lock);
> >         done(cmd);
> > 
> >         return 0;
> > 
> >> http://marc.info/?l=linux-scsi=128716779623683=2
> >> <http://marc.info/?l=linux-scsi&m=128716779623683&w=2>
> >> 
> > 
> > <nod> I had been only updating LLDs that actually used ->serial_number
> > beyond a simple informational purposes for error recovery.  Thanks for
> > removing this one preemptively!  8-)
> > 
> > Best,
> > 
> > --nab
> > 
> 
> Hi Nicholas,
> 
> Yes, I understand. I was thinking that you are going to submit the patches
> for all LLD with your final submission.
> 
> I will submit the patch which removes host_lock in queuecommand routine
> completely then. 

Hmmmmm..

I think you will want to coordinate with James Bottomley here before
dropping the existing qla2xxx SHT->queuecomand() -> unlock() ->
do_lld_work() -> lock() code.  Doing this legacy optimization still does
provide some form of benefit (which btw I don't think anyone has ever
actually determined how much this), but lets make sure the legacy
optimization remains in place until we can resolve the remaining issues
so James can merge the initial pieces.  From there you can drop
host_lock in qla2xxx_queuecommand() and safely enable unlocked_qcmds=1
operation by default to realize the lock-less queue small block IOP
gains.

Best,

--nab

> 
> -- Giri
> 
> > 
> > 
> 


  reply	other threads:[~2010-10-21  1:21 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <C8E4BD3D.A1E3%giridhar.malavali@qlogic.com>
2010-10-20 23:19 ` [ANNOUNCE] Status of unlocked_qcmds=1 operation for .37 Nicholas A. Bellinger
2010-10-21  0:30   ` Giridhar Malavali
2010-10-21  0:39     ` Nicholas A. Bellinger [this message]
2010-10-20 20:49 Nicholas A. Bellinger
2010-10-20 20:49 ` Nicholas A. Bellinger
2010-10-21 19:26 ` Luben Tuikov
2010-10-21 19:26   ` Luben Tuikov
     [not found] ` <20101021150840.GA24309@linux.vnet.ibm.com>
2010-10-26 22:08   ` Nicholas A. Bellinger
2010-10-26 22:27     ` James Bottomley
2010-10-26 22:34       ` Nicholas A. Bellinger
2010-10-26 22:50         ` James Bottomley
2010-10-26 23:00           ` Nicholas A. Bellinger
2010-10-26 23:11             ` James Bottomley
2010-10-26 23:31               ` Nicholas A. Bellinger
2010-10-27  7:53                 ` Andi Kleen
2010-10-27 14:27                   ` James Bottomley
2010-10-27 18:06                     ` Nicholas A. Bellinger
2010-10-27 18:16                       ` James Bottomley
2010-10-27 19:20                       ` Mike Anderson
2010-10-27 19:55                         ` Nicholas A. Bellinger
2010-10-27 23:28                       ` Jeff Garzik
2010-10-28  9:10                     ` Andi Kleen
2010-10-28 11:18                       ` Boaz Harrosh
2010-10-28 11:18                         ` Boaz Harrosh
2010-10-28 18:26                         ` Andi Kleen
2010-10-28 18:26                           ` Andi Kleen
2010-10-31 12:14                           ` Boaz Harrosh
2010-10-31 12:14                             ` Boaz Harrosh
2010-11-01 11:45                             ` Andi Kleen
2010-11-01 11:45                               ` Andi Kleen
2010-10-28 20:27                         ` Nicholas A. Bellinger
2010-10-29  7:50                           ` Andi Kleen
2010-10-29 23:50                             ` Nicholas A. Bellinger
2010-10-29 23:50                               ` Nicholas A. Bellinger
2010-10-29 23:57                             ` Nicholas A. Bellinger
2010-10-27 18:03                   ` Nicholas A. Bellinger

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=1287621569.10283.162.camel@haakon2.linux-iscsi.org \
    --to=nab@linux-iscsi.org \
    --cc=James.Bottomley@suse.de \
    --cc=andrew.vasquez@qlogic.com \
    --cc=giridhar.malavali@qlogic.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.