All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Chris Friesen" <cfriesen@nortel.com>
To: "Moore, Eric" <Eric.Moore@lsi.com>
Cc: "Stephens, Larry" <Larry.Stephens@lsi.com>,
	linux-scsi@vger.kernel.org, dgilbert@interlog.com,
	James.Bottomley@SteelEye.com,
	DL-MPT Fusion Linux <DL-MPTFusionLinux@lsi.com>
Subject: Re: how to handle QUEUE_FULL/SAM_STAT_TASK_SET_FULL in userspace?
Date: Wed, 14 Nov 2007 11:23:19 -0600	[thread overview]
Message-ID: <473B2F07.8060908@nortel.com> (raw)
In-Reply-To: <664A4EBB07F29743873A87CF62C26D70B34152@NAMAIL4.ad.lsil.com>

Moore, Eric wrote:

> QUEUE_FULL and SAM_STAT_TASK_SET_FULL are not errors.

I consider them errors in the same way that ENOMEM or ENOBUFS (or even 
EAGAIN) are errors.  "There is a shortage of resources and the command 
could not be completed, please try again later."

Also, the behaviour has changed from 2.6.10 with the 3.01.18 fusion 
driver, to 2.6.14 with the 3.02.57 fusion driver.

With 2.6.10 our user app never saw SAM_STAT_TASK_SET_FULL.  I suspect it 
is due to the fact that it's using a queue size of 7, while in 2.6.14 
it's using a queue size of 32 or 64.

Which kernel version is behaving properly?

I've asked seagate what the queue size should be for that hardware, but 
haven't heard back yet.

> SAM_STAT_TASK_SET_FULL returned for the target that handle the number of
> commands, and QUEUE_FULL returned from hba firmware meaning its can't
> handle the number of commands.  Translated, the commands are retried by
> scsiml.    I probably should be calling scsi_track_queue_full which
> would be throttling the command back, however I'm not sure whether it
> matters.

We have a userspace app calling ioctl(...SG_IO...) on /dev/sdX and 
occasionally getting a status of SAM_STAT_TASK_SET_FULL.  I may be 
misreading the code, but it doesn't appear that the midlayer is retrying 
these commands.

If the queue length in 2.6.14 is correct then how do I handle that 
status code?  Maybe delay a bit then retry a few times?  How much delay? 
   How many retries?

Chris

  reply	other threads:[~2007-11-14 17:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-12 19:54 how to handle QUEUE_FULL/SAM_STAT_TASK_SET_FULL in userspace? Chris Friesen
2007-11-13 22:04 ` Chris Friesen
2007-11-13 22:34   ` Moore, Eric
2007-11-14 17:23     ` Chris Friesen [this message]
2007-11-14 22:45       ` Moore, Eric
2007-11-15 19:09         ` Chris Friesen
2007-11-15 19:43           ` James Smart
2007-11-15 19:59             ` Moore, Eric
2007-11-15 19:57           ` Moore, Eric
2007-11-15 21:59             ` Chris Friesen
2007-11-15 22:18               ` James Bottomley
2007-11-15 22:35                 ` Moore, Eric
2007-11-15 22:47                   ` James Bottomley

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=473B2F07.8060908@nortel.com \
    --to=cfriesen@nortel.com \
    --cc=DL-MPTFusionLinux@lsi.com \
    --cc=Eric.Moore@lsi.com \
    --cc=James.Bottomley@SteelEye.com \
    --cc=Larry.Stephens@lsi.com \
    --cc=dgilbert@interlog.com \
    --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 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.