public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Doug Ledford <dledford@redhat.com>
To: James Bottomley <James.Bottomley@steeleye.com>
Cc: Christoph Hellwig <hch@lst.de>,
	SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH] fixup some tagged queuing mess
Date: Mon, 25 Aug 2003 15:32:29 -0400	[thread overview]
Message-ID: <1061839949.2948.208.camel@compaq.xsintricity.com> (raw)
In-Reply-To: <1061828571.2044.134.camel@mulgrave>

On Mon, 2003-08-25 at 12:22, James Bottomley wrote:
> Ah, OK, I was thinking of them as an either/or.

Nope.

> Hmm, we should probably fix scsi_populate_tag_msg as well then.  It
> looks like it will happily spit out an ordered tag even if we know the
> drive cannot take it.

So, given that you want to fully and completely handle tagged queueing
issues in all drivers, here's what needs to be working:

1)  Split out simple tags from ordered tags (skip head of queue, they
aren't real usefull for our purposes).  This is done.

2)  Either blacklist all the drives we can find that don't support
ordered tags (not impossible, just some older cheap drives have this
problem last I knew, I don't think any modern SCSI drives do this unless
some of the drives in the Firewire or USB realm are currently having
this problem, but then again we would know on them since last I knew at
least USB storage was still 1 command at a time and who cares about
tags, don't know about Firewire) or make sure that the low level drivers
can deal with tag rejection and make sure that low level drivers know to
disable ordered tags if they get a rejection of an ordered tag.

3) In the mid layer, whenever we have a REQ_BARRIER command, if the
drive supports ordered tags, send an ordered tag.  If the drive doesn't,
then put this command on the MLQUEUE, plug the device, wait for the last
outstanding command to complete, then send this one command as an
untagged command, then when this command completes, unplug the device. 
That preserves the REQ_BARRIER operation in the two cases that we care
about, devices with and without ordered tags.

Anyway, that's how I remember things needing to be, but I've been too
busy on other stuff to look into it and keep up with the 2.6 scsi work
for a while, so I could be way off base.  Therefore, probably not even
$.02 worth ;-)


-- 
  Doug Ledford <dledford@redhat.com>     919-754-3700 x44233
         Red Hat, Inc.
         1801 Varsity Dr.
         Raleigh, NC 27606



      reply	other threads:[~2003-08-25 19:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-25 12:27 [PATCH] fixup some tagged queuing mess Christoph Hellwig
2003-08-25 16:00 ` James Bottomley
2003-08-25 16:09   ` Doug Ledford
2003-08-25 16:22     ` James Bottomley
2003-08-25 19:32       ` Doug Ledford [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=1061839949.2948.208.camel@compaq.xsintricity.com \
    --to=dledford@redhat.com \
    --cc=James.Bottomley@steeleye.com \
    --cc=hch@lst.de \
    --cc=linux-scsi@vger.kernel.org \
    /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