Message ID | 1464679083-2914-2-git-send-email-hdegoede@redhat.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Tue, 2016-05-31 at 09:18 +0200, Hans de Goede wrote: > Commit 198de51dbc34 ("USB: uas: Limit qdepth at the scsi-host level") > removed the scsi_change_queue_depth() call from uas_slave_configure() > assuming that the slave would inherit the host's queue_depth, which > that commit sets to the same value. > > This is incorrect, without the scsi_change_queue_depth() call the slave's > queue_depth defaults to 1, introducing a performance regression. Hans, may I ask what become of this patch? I don't see it in the queue. Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, On 13-06-16 14:05, Oliver Neukum wrote: > On Tue, 2016-05-31 at 09:18 +0200, Hans de Goede wrote: >> Commit 198de51dbc34 ("USB: uas: Limit qdepth at the scsi-host level") >> removed the scsi_change_queue_depth() call from uas_slave_configure() >> assuming that the slave would inherit the host's queue_depth, which >> that commit sets to the same value. >> >> This is incorrect, without the scsi_change_queue_depth() call the slave's >> queue_depth defaults to 1, introducing a performance regression. > > Hans, may I ask what become of this patch? I don't see it in the queue. It is here: https://git.kernel.org/cgit/linux/kernel/git/gregkh/usb.git/commit/?h=usb-linus&id=593224ea77b1ca842f45cf76f4deeef44dfbacd1 Which is part of: https://git.kernel.org/cgit/linux/kernel/git/gregkh/usb.git/log/?h=usb-linus Regards, Hans -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c index 16bc679..ecc7d4b 100644 --- a/drivers/usb/storage/uas.c +++ b/drivers/usb/storage/uas.c @@ -835,6 +835,7 @@ static int uas_slave_configure(struct scsi_device *sdev) if (devinfo->flags & US_FL_BROKEN_FUA) sdev->broken_fua = 1; + scsi_change_queue_depth(sdev, devinfo->qdepth - 2); return 0; }
Commit 198de51dbc34 ("USB: uas: Limit qdepth at the scsi-host level") removed the scsi_change_queue_depth() call from uas_slave_configure() assuming that the slave would inherit the host's queue_depth, which that commit sets to the same value. This is incorrect, without the scsi_change_queue_depth() call the slave's queue_depth defaults to 1, introducing a performance regression. This commit restores the call, fixing the performance regression. Cc: stable@vger.kernel.org Fixes: 198de51dbc34 ("USB: uas: Limit qdepth at the scsi-host level") Reported-by: Tom Yan <tom.ty89@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/usb/storage/uas.c | 1 + 1 file changed, 1 insertion(+)