All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Hans de Goede <hdegoede@redhat.com>, Tom Yan <tom.ty89@gmail.com>,
	linux-usb@vger.kernel.org, gregkh@linuxfoundation.org
Cc: linux-scsi@vger.kernel.org
Subject: Re: [regression] uas no longer queues commands since v4.5.2
Date: Mon, 23 May 2016 07:38:01 -0700	[thread overview]
Message-ID: <1464014281.2331.5.camel@HansenPartnership.com> (raw)
In-Reply-To: <b2eca29b-a954-f35b-7880-a99a2d6ddab8@redhat.com>

On Mon, 2016-05-23 at 13:48 +0200, Hans de Goede wrote:
> Hi,
> 
> On 22-05-16 12:39, Tom Yan wrote:
> > With commit 198de51dbc3454d95b015ca0a055b673f85f01bb, uas no longer
> > set `queue_depth` with scsi_change_queue_depth(), so now
> > `queue_depth`
> > of UAS drives are 1. Even though `can_queue` is set to
> > `devinfo->qdepth - 2`, but apparently that does not help, since I
> > can
> > see performance impact.
> > 
> > Suppose limiting `can_queue` is the right way to fix this bug
> > (https://bugzilla.redhat.com/show_bug.cgi?id=1315013), do we really
> > need to eliminate scsi_change_queue_depth() at the same time
> > though?
> 
> No, I thought it was no longer needed, assuming the slave would
> inherit the host's value, but I was mistaken, the slave will default
> to a queue_depth of 1 if not specified.

Just to improve understanding: shost->can_queue is the host limit: it's
the maximum number of commands that can be outstanding on the host at
any one time, which is why it's used as the count for the shared tag
map.  It's also a fixed limit and can't be altered after the host is
instantiated.  sdev->queue_depth is the device queue limit, it can be
altered dynamically during device operation.  There's no relation
between them except that if you make queue_depth larger than can_queue,
the latter rules.

James



      reply	other threads:[~2016-05-23 14:38 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-22 10:39 [regression] uas no longer queues commands since v4.5.2 Tom Yan
     [not found] ` <CAGnHSEnR8n3-zxn767DEQv7eoDbA0cc3d_7xo8OZmO+g4jth+w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-05-22 10:40   ` Tom Yan
2016-05-23 11:48 ` Hans de Goede
2016-05-23 14:38   ` James Bottomley [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=1464014281.2331.5.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hdegoede@redhat.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=tom.ty89@gmail.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.