All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luben Tuikov <ltuikov@yahoo.com>
To: linux-kernel <linux-kernel@vger.kernel.org>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	"Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: Vasu Dev <vasu.dev@linux.intel.com>,
	Tim Chen <tim.c.chen@linux.intel.com>,
	Andi Kleen <ak@linux.intel.com>,
	Matthew Wilcox <willy@linux.intel.com>,
	James Bottomley <James.Bottomley@suse.de>,
	Mike Christie <michaelc@cs.wisc.edu>,
	Jens Axboe <jaxboe@fusionio.com>,
	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>, Jon Hawley <warthog9@kernel.org>,
	MPTFusionLinux <DL-MPTFusionLinux@lsi.com>,
	"eata.c maintainer" <dario.ballabio@inwind.it>,
	mvsas maintainer <kewei@marvell.com>,
	pm8001 maintainer Jack Wang <jack_wang@usish.com>,
	Brian King <brking@linux.vnet.ibm.com>,
	Mike Anderson <andmike@linux.vnet.ibm.com>,
	Christof Schmitt <christof.schmitt@de.ibm.com>,
	Tejun Heo <tj@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [ANNOUNCE] Status of unlocked_qcmds=1 operation for .37
Date: Thu, 21 Oct 2010 12:26:31 -0700 (PDT)	[thread overview]
Message-ID: <743248.2576.qm@web31812.mail.mud.yahoo.com> (raw)
In-Reply-To: <1287607774.10283.78.camel@haakon2.linux-iscsi.org>

--- On Wed, 10/20/10, Nicholas A. Bellinger <nab@linux-iscsi.org> wrote:

> From: Nicholas A. Bellinger <nab@linux-iscsi.org>
> Subject: [ANNOUNCE] Status of unlocked_qcmds=1 operation for .37
> To: "linux-kernel" <linux-kernel@vger.kernel.org>, "linux-scsi" <linux-scsi@vger.kernel.org>
> Cc: "Vasu Dev" <vasu.dev@linux.intel.com>, "Tim Chen" <tim.c.chen@linux.intel.com>, "Andi Kleen" <ak@linux.intel.com>, "Matthew Wilcox" <willy@linux.intel.com>, "James Bottomley" <James.Bottomley@suse.de>, "Mike Christie" <michaelc@cs.wisc.edu>, "Jens Axboe" <jaxboe@fusionio.com>, "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>, "Jon Hawley" <warthog9@kernel.org>, "MPTFusionLinux" <DL-MPTFusionLinux@lsi.com>, "eata.c maintainer" <dario.ballabio@inwind.it>, "Luben Tuikov" <ltuikov@yahoo.com>, "mvsas maintainer" <kewei@marvell.com>, "pm8001 maintainer Jack Wang" <jack_wang@usish.com>, "Brian King" <brking@linux.vnet.ibm.com>, "Mike Anderson" <andmike@linux.vnet.ibm.com>, "Christof Schmitt" <christof.schmitt@de.ibm.com>, "Tejun Heo" <tj@kernel.org>, "Andrew Morton"
 <akpm@linux-foundation.org>, "H. Peter Anvin" <hpa@zytor.com>
> Date: Wednesday, October 20, 2010, 1:49 PM
> Greetings all,
> 
> So as we get closer to the .37 merge window, I wanted to
> take this
> oppourtunity to recap the current status of the
> drop-host_lock /
> unlocked_qcmds=1 patches, and what is required for the next
> RFCv5 and
> hopefully a merge into .37.  The last RFCv4 was posted
> here:
> 
> http://marc.info/?l=linux-kernel&m=128563953114561&w=2
> 
> Since then, Christof Schmitt has sent a patch to drop
> struct
> scsi_cmnd->serial_number usage in zfcp, and Tim Chen has
> sent an
> important fix to drop an extra host_lock access that I
> originally missed
> in qla2xxx SHT->queuecommand() that certainly would have
> deadlocked a
> running machine.   Many thanks to Christof
> and Tim for your
> contributions and review!
> 
> So at this point in the game the current score sits at:
> 
> *) core drivers/scsi remaining issue(s):
> 
> The issue raised by andmike during RFCv4 described as:
> 
> "If we skip __scsi_try_to_abort_cmd when REQ_ATOM_COMPLETE
> is set it
> would be correct for the scsi_decide_disposition cases but
> it would
> appear this would stop __scsi_try_to_abort_cmd from being
> called in the
> time out case as REQ_ATOM_COMPLETE is set prior to calling
> blk_rq_timed_out."
> 
> The complete discussion is here:
> 
> http://marc.info/?l=linux-scsi&m=128535319915212&w=2
> 
> We still need folks with experience to dig into this code,
> so you know
> the scsi_error.c code please jump in!
> 
> *) LLD libraries running by default w/ unlocked_qcmds=1
> 
> libiscsi: need ack from mnc
> libsas: need ack from jejb
> libfc: remaining rport state + host_lock less issue. 
> Need more input
>        from mnc for James Smart
> and Joe on this...
> libata: jgarzik thinks this should be OK, review and ack
> from tejun
>         would also be very helpful.
> 
> The main issue remaining here is the audit of libfc rport
> (and other..?)
> code that assumes host_lock is held to protect state. 
> mnc, do you have
> any more thoughts for James Smart and Joe here..?
> 
> *) Individual LLDs running by default w/ unlocked_qcmds=1
> 
> aic94xx: need ack maintainer at adaptec..?)

Adaptec doesn't exist anymore--it's just a memory in the minds of
many good engineers.  Anyway, as a former Adaptec employee and
the author of aic94xx and the SAS code in the Linux kernel (which
Bottomley copied from a git tree from an Adaptec server or maybe
from the linux-scsi ML, munged it up and submitted as his own
into linux-scsi git tree) I can give an ACK on both. Both the
aic94xx and the SAS code were written with the host lock as a
kludge and we unlock/lock it as you can see in the code.

> mvsas: need ack maintainer at marvell..?)
> pm8001: need ack Jang Wang
> qla4xxx, qla2xxx: need ack Andrew Vasquez
> fnic:  need ack Joe Eykholt
> 
> Aside from the required ACKs, I am not aware of any other
> mainline LLDs
> doing the legacy SHT->queuecommand() -> unlock()
> -> do_lld_work() ->
> lock() that have not already been converted.
> 
> The main question here is if any out of tree SCSI LLDs use
> this legacy
> optimization..  Should we come up with a compile time
> way to alert
> vendors to this..?
> 
> *) Individual LLDs converted to use explict
> scsi_cmd_get_serial()
> 
> mpt2sas: Add scsi_cmd_get_serial() call
> mpt/fusion: Add scsi_cmd_get_serial() call
> dpt_i2o: Add scsi_cmd_get_serial() call
> eata: Add scsi_cmd_get_serial() call
> u14-34f: Add scsi_cmd_get_serial() call
> zfcp: Remove scsi_cmnd->serial_number from debug traces
> 
> Aside from the required ACKs, I am not aware of any other
> mainline LLDs
> that use struct scsi_cmnd->serial_number internally that
> have not
> already been converted.  The same applies to out of
> tree modules for
> this, but is certainly not critical.
> 
> So as the clock winds down to get this merged into .37, if
> anyone else
> has any concerns or comments please let myself and the
> other relivent
> maintainers know and we will try to address them
> accordingly.
> 
> Thanks!
> 
> --nab
> 
> 

WARNING: multiple messages have this Message-ID (diff)
From: Luben Tuikov <ltuikov@yahoo.com>
To: linux-kernel <linux-kernel@vger.kernel.org>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	"Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: Vasu Dev <vasu.dev@linux.intel.com>,
	Tim Chen <tim.c.chen@linux.intel.com>,
	Andi Kleen <ak@linux.intel.com>,
	Matthew Wilcox <willy@linux.intel.com>,
	James Bottomley <James.Bottomley@suse.de>,
	Mike Christie <michaelc@cs.wisc.edu>,
	Jens Axboe <jaxboe@fusionio.com>,
	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>, Jon Hawley <warthog9@kernel.org>,
	MPTFusionLinux <DL-MPTFusionLinux@lsi.com>,
	"eata.c maintainer" <dario.ballabio@inwind.it>,
	mvsas maintainer <kewei@marvell.com>,
	pm8001 maintainer Jack Wang <jack_wang@usish.com>,
	Brian King <brking@linux.vnet.ibm.com>,
	Mike Anderson <andmike@linux.vnet.ibm.com>,
	Christof Schmitt <christof.schmitt@de.ibm.com>,
	Tejun Heo <tj@kernel.org>Andrew
Subject: Re: [ANNOUNCE] Status of unlocked_qcmds=1 operation for .37
Date: Thu, 21 Oct 2010 12:26:31 -0700 (PDT)	[thread overview]
Message-ID: <743248.2576.qm@web31812.mail.mud.yahoo.com> (raw)
In-Reply-To: <1287607774.10283.78.camel@haakon2.linux-iscsi.org>

--- On Wed, 10/20/10, Nicholas A. Bellinger <nab@linux-iscsi.org> wrote:

> From: Nicholas A. Bellinger <nab@linux-iscsi.org>
> Subject: [ANNOUNCE] Status of unlocked_qcmds=1 operation for .37
> To: "linux-kernel" <linux-kernel@vger.kernel.org>, "linux-scsi" <linux-scsi@vger.kernel.org>
> Cc: "Vasu Dev" <vasu.dev@linux.intel.com>, "Tim Chen" <tim.c.chen@linux.intel.com>, "Andi Kleen" <ak@linux.intel.com>, "Matthew Wilcox" <willy@linux.intel.com>, "James Bottomley" <James.Bottomley@suse.de>, "Mike Christie" <michaelc@cs.wisc.edu>, "Jens Axboe" <jaxboe@fusionio.com>, "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>, "Jon Hawley" <warthog9@kernel.org>, "MPTFusionLinux" <DL-MPTFusionLinux@lsi.com>, "eata.c maintainer" <dario.ballabio@inwind.it>, "Luben Tuikov" <ltuikov@yahoo.com>, "mvsas maintainer" <kewei@marvell.com>, "pm8001 maintainer Jack Wang" <jack_wang@usish.com>, "Brian King" <brking@linux.vnet.ibm.com>, "Mike Anderson" <andmike@linux.vnet.ibm.com>, "Christof Schmitt" <christof.schmitt@de.ibm.com>, "Tejun Heo" <tj@kernel.org>, "Andrew Morton"
 <akpm@linux-foundation.org>, "H. Peter Anvin" <hpa@zytor.com>
> Date: Wednesday, October 20, 2010, 1:49 PM
> Greetings all,
> 
> So as we get closer to the .37 merge window, I wanted to
> take this
> oppourtunity to recap the current status of the
> drop-host_lock /
> unlocked_qcmds=1 patches, and what is required for the next
> RFCv5 and
> hopefully a merge into .37.  The last RFCv4 was posted
> here:
> 
> http://marc.info/?l=linux-kernel&m=128563953114561&w=2
> 
> Since then, Christof Schmitt has sent a patch to drop
> struct
> scsi_cmnd->serial_number usage in zfcp, and Tim Chen has
> sent an
> important fix to drop an extra host_lock access that I
> originally missed
> in qla2xxx SHT->queuecommand() that certainly would have
> deadlocked a
> running machine.   Many thanks to Christof
> and Tim for your
> contributions and review!
> 
> So at this point in the game the current score sits at:
> 
> *) core drivers/scsi remaining issue(s):
> 
> The issue raised by andmike during RFCv4 described as:
> 
> "If we skip __scsi_try_to_abort_cmd when REQ_ATOM_COMPLETE
> is set it
> would be correct for the scsi_decide_disposition cases but
> it would
> appear this would stop __scsi_try_to_abort_cmd from being
> called in the
> time out case as REQ_ATOM_COMPLETE is set prior to calling
> blk_rq_timed_out."
> 
> The complete discussion is here:
> 
> http://marc.info/?l=linux-scsi&m=128535319915212&w=2
> 
> We still need folks with experience to dig into this code,
> so you know
> the scsi_error.c code please jump in!
> 
> *) LLD libraries running by default w/ unlocked_qcmds=1
> 
> libiscsi: need ack from mnc
> libsas: need ack from jejb
> libfc: remaining rport state + host_lock less issue. 
> Need more input
>        from mnc for James Smart
> and Joe on this...
> libata: jgarzik thinks this should be OK, review and ack
> from tejun
>         would also be very helpful.
> 
> The main issue remaining here is the audit of libfc rport
> (and other..?)
> code that assumes host_lock is held to protect state. 
> mnc, do you have
> any more thoughts for James Smart and Joe here..?
> 
> *) Individual LLDs running by default w/ unlocked_qcmds=1
> 
> aic94xx: need ack maintainer at adaptec..?)

Adaptec doesn't exist anymore--it's just a memory in the minds of
many good engineers.  Anyway, as a former Adaptec employee and
the author of aic94xx and the SAS code in the Linux kernel (which
Bottomley copied from a git tree from an Adaptec server or maybe
from the linux-scsi ML, munged it up and submitted as his own
into linux-scsi git tree) I can give an ACK on both. Both the
aic94xx and the SAS code were written with the host lock as a
kludge and we unlock/lock it as you can see in the code.

> mvsas: need ack maintainer at marvell..?)
> pm8001: need ack Jang Wang
> qla4xxx, qla2xxx: need ack Andrew Vasquez
> fnic:  need ack Joe Eykholt
> 
> Aside from the required ACKs, I am not aware of any other
> mainline LLDs
> doing the legacy SHT->queuecommand() -> unlock()
> -> do_lld_work() ->
> lock() that have not already been converted.
> 
> The main question here is if any out of tree SCSI LLDs use
> this legacy
> optimization..  Should we come up with a compile time
> way to alert
> vendors to this..?
> 
> *) Individual LLDs converted to use explict
> scsi_cmd_get_serial()
> 
> mpt2sas: Add scsi_cmd_get_serial() call
> mpt/fusion: Add scsi_cmd_get_serial() call
> dpt_i2o: Add scsi_cmd_get_serial() call
> eata: Add scsi_cmd_get_serial() call
> u14-34f: Add scsi_cmd_get_serial() call
> zfcp: Remove scsi_cmnd->serial_number from debug traces
> 
> Aside from the required ACKs, I am not aware of any other
> mainline LLDs
> that use struct scsi_cmnd->serial_number internally that
> have not
> already been converted.  The same applies to out of
> tree modules for
> this, but is certainly not critical.
> 
> So as the clock winds down to get this merged into .37, if
> anyone else
> has any concerns or comments please let myself and the
> other relivent
> maintainers know and we will try to address them
> accordingly.
> 
> Thanks!
> 
> --nab
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-20 20:49 [ANNOUNCE] Status of unlocked_qcmds=1 operation for .37 Nicholas A. Bellinger
2010-10-20 20:49 ` Nicholas A. Bellinger
2010-10-21 19:26 ` Luben Tuikov [this message]
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
     [not found] <C8E4BD3D.A1E3%giridhar.malavali@qlogic.com>
2010-10-20 23:19 ` Nicholas A. Bellinger
2010-10-21  0:30   ` Giridhar Malavali
2010-10-21  0:39     ` 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=743248.2576.qm@web31812.mail.mud.yahoo.com \
    --to=ltuikov@yahoo.com \
    --cc=DL-MPTFusionLinux@lsi.com \
    --cc=James.Bottomley@suse.de \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=andmike@linux.vnet.ibm.com \
    --cc=andrew.vasquez@qlogic.com \
    --cc=brking@linux.vnet.ibm.com \
    --cc=christof.schmitt@de.ibm.com \
    --cc=dario.ballabio@inwind.it \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=hpa@zytor.com \
    --cc=jack_wang@usish.com \
    --cc=james.smart@emulex.com \
    --cc=jaxboe@fusionio.com \
    --cc=jeykholt@cisco.com \
    --cc=kewei@marvell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    --cc=nab@linux-iscsi.org \
    --cc=tim.c.chen@linux.intel.com \
    --cc=tj@kernel.org \
    --cc=vasu.dev@linux.intel.com \
    --cc=warthog9@kernel.org \
    --cc=willy@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 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.