* [regression] uas no longer queues commands since v4.5.2
@ 2016-05-22 10:39 Tom Yan
[not found] ` <CAGnHSEnR8n3-zxn767DEQv7eoDbA0cc3d_7xo8OZmO+g4jth+w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-05-23 11:48 ` Hans de Goede
0 siblings, 2 replies; 4+ messages in thread
From: Tom Yan @ 2016-05-22 10:39 UTC (permalink / raw)
To: linux-usb, hdegoede, gregkh; +Cc: linux-scsi
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?
If so, how should we deal with the regression?
^ permalink raw reply [flat|nested] 4+ messages in thread[parent not found: <CAGnHSEnR8n3-zxn767DEQv7eoDbA0cc3d_7xo8OZmO+g4jth+w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [regression] uas no longer queues commands since v4.5.2
[not found] ` <CAGnHSEnR8n3-zxn767DEQv7eoDbA0cc3d_7xo8OZmO+g4jth+w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2016-05-22 10:40 ` Tom Yan
0 siblings, 0 replies; 4+ messages in thread
From: Tom Yan @ 2016-05-22 10:40 UTC (permalink / raw)
To: linux-usb-u79uwXL29TY76Z2rM5mHXA, hdegoede-H+wXaHxf7aLQT0dZR+AlfA,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r
Cc: linux-scsi-u79uwXL29TY76Z2rM5mHXA
Btw, I suppose `.can_queue = MAX_CMNDS` in the host template is
unnecessary (unless we are going to revert `shost->can_queue =
devinfo->qdepth - 2`)?
On 22 May 2016 at 18:39, Tom Yan <tom.ty89-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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?
> If so, how should we deal with the regression?
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [regression] uas no longer queues commands since v4.5.2
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-23 11:48 ` Hans de Goede
2016-05-23 14:38 ` James Bottomley
1 sibling, 1 reply; 4+ messages in thread
From: Hans de Goede @ 2016-05-23 11:48 UTC (permalink / raw)
To: Tom Yan, linux-usb, gregkh; +Cc: linux-scsi
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.
I'll send out a patch fixing this right away.
Regards,
Hans
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [regression] uas no longer queues commands since v4.5.2
2016-05-23 11:48 ` Hans de Goede
@ 2016-05-23 14:38 ` James Bottomley
0 siblings, 0 replies; 4+ messages in thread
From: James Bottomley @ 2016-05-23 14:38 UTC (permalink / raw)
To: Hans de Goede, Tom Yan, linux-usb, gregkh; +Cc: linux-scsi
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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-05-23 14:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 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.