From: Jens Axboe <axboe@suse.de>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: Patrick Mansfield <patmans@us.ibm.com>,
brking@us.ibm.com, SCSI Mailing List <linux-scsi@vger.kernel.org>,
haren@us.ibm.com
Subject: Re: [PATCH 1/1] ipr: Fix for adapter shutdown issue
Date: Thu, 16 Jun 2005 14:00:57 +0200 [thread overview]
Message-ID: <20050616120053.GB10764@suse.de> (raw)
In-Reply-To: <1118856207.5045.46.camel@mulgrave>
On Wed, Jun 15 2005, James Bottomley wrote:
> On Wed, 2005-06-15 at 10:05 -0700, Patrick Mansfield wrote:
> > First in scsi_alloc_queue, the flush/sync code is only used if we don't
> > have ordered tags, and if the adapter driver explicitly allows it
> > (shost->order_flush).
> >
> > Plus we clear order_flush in scsi_host_alloc if can_queue > 1.
> >
> > So ipr will never get those sync cache commands, correct?
>
> Actually, yes. I thought Jens turned it on globally, but apparently
> it's only set for the sata controllers.
Yeah, I figured most other scsi controllers supported TCQ...
> the can_queue check is a bit mysterious since non TCQ devices should
> have can_queue == 2 (so they have one command executing and one command
> ready to roll).
But that will cause the mid layer to invoke ->queuecommand() when you
already have one command queued, thus the driver needs to check if it
really can queue one more. I greatly prefer the driver setting the exact
depth instead. If you want to have the next command pre-setup, you
should do so in the mid layer.
> > And we default to QUEUE_ORDERED_NONE (0) if ordered_tag and ordered_flush
> > are not set.
> >
> > But I can't find any where that we set ordered_tag at all, am I missing
> > something??? Let alone in ipr.
>
> I think that was also added by the barrier patch set. Although it's well
> known what the difficulties of using ordered tag queueing to implement
> barriers are:
>
> 1) Race in queuecommand() where barrier gets BUSY or QUEUE_FULL but next
> command is accepted before we see this.
> 2) Error handling is not robust to ordering.
> 3) Qerr bit of the control mode page needs to be set correctly.
Some work still left to fully supported barriers with tags, Tejun is
making great progress though.
--
Jens Axboe
prev parent reply other threads:[~2005-06-16 11:59 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-15 15:15 [PATCH 1/1] ipr: Fix for adapter shutdown issue brking
2005-06-15 15:17 ` Christoph Hellwig
2005-06-15 16:01 ` Greg KH
2005-06-15 16:14 ` Brian King
2005-06-15 15:28 ` James Bottomley
2005-06-15 15:34 ` Brian King
2005-06-15 15:47 ` James Bottomley
2005-06-15 16:11 ` Brian King
2005-06-15 16:44 ` James Bottomley
2005-06-15 17:05 ` Patrick Mansfield
2005-06-15 17:23 ` James Bottomley
2005-06-16 12:00 ` Jens Axboe [this message]
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=20050616120053.GB10764@suse.de \
--to=axboe@suse.de \
--cc=James.Bottomley@SteelEye.com \
--cc=brking@us.ibm.com \
--cc=haren@us.ibm.com \
--cc=linux-scsi@vger.kernel.org \
--cc=patmans@us.ibm.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