From: Christoph Hellwig <hch@infradead.org>
To: Hans de Goede <hdegoede@redhat.com>
Cc: linux-usb <linux-usb@vger.kernel.org>,
SCSI development list <linux-scsi@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [REGRESSION 3.17] scsi (uas) disks no longer using tagged command queuing
Date: Tue, 9 Sep 2014 08:27:30 -0700 [thread overview]
Message-ID: <20140909152730.GA17882@infradead.org> (raw)
In-Reply-To: <540EC52C.3000804@redhat.com>
On Tue, Sep 09, 2014 at 11:15:24AM +0200, Hans de Goede wrote:
> Taking the uas.c file from 3.17, and building it for 3.16 restores
> the use of tcq (debugged by adding a printk blk_rq_tagged + request->tag).
>
> So either uas is doing something wrong which happened to work in
> 3.16, or something has broken in 3.17.
>
> I've already added debug printk-s of scsi_device->tagged_supported,
> queue_depth, ordered_tags and simple_tags and those all look good
> (1, 29, 1, 1).
>
> I've also tried setting disable_blk_mq and that does not help.
>
> Any hints to help debugging this further (other then a bisect) are
> appreciated. If no-one has any smart ideas I guess I'll end up doing
> a full bisect.
scsi-mq isn't enabled by default, so setting disable_blk_mq should
indeed not make a difference.
One interesting thing with uas is that it uses scsi_init_shared_tag_map,
which only few drivers do.
Can you apply a debug patch like the one below and see if that helps to
poinpoint down the issue?
diff --git a/block/blk-tag.c b/block/blk-tag.c
index a185b86..584db25 100644
--- a/block/blk-tag.c
+++ b/block/blk-tag.c
@@ -175,8 +175,10 @@ int blk_queue_init_tags(struct request_queue *q, int depth,
return rc;
queue_flag_set(QUEUE_FLAG_QUEUED, q);
return 0;
- } else
+ } else {
+ printk("%s: grabbing reference to shared tag structure!\n", __func__);
atomic_inc(&tags->refcnt);
+ }
/*
* assign it, all done
diff --git a/include/scsi/scsi_tcq.h b/include/scsi/scsi_tcq.h
index cdcc90b..7f3b5cb 100644
--- a/include/scsi/scsi_tcq.h
+++ b/include/scsi/scsi_tcq.h
@@ -164,8 +164,13 @@ static inline int scsi_init_shared_tag_map(struct Scsi_Host *shost, int depth)
*/
if (!shost->bqt) {
shost->bqt = blk_init_tags(depth);
- if (!shost->bqt)
+ if (!shost->bqt) {
+ printk("failed to init host-wide tag map!\n");
return -ENOMEM;
+ }
+ printk("initialized host-wide tag map!\n");
+ } else {
+ printk("host-wide tag map already set!\n");
}
return 0;
next prev parent reply other threads:[~2014-09-09 15:27 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-09 9:15 [REGRESSION 3.17] scsi (uas) disks no longer using tagged command queuing Hans de Goede
2014-09-09 15:27 ` Christoph Hellwig [this message]
2014-09-10 7:21 ` Hans de Goede
[not found] ` <540FFBF4.9090001-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-09-10 15:45 ` Christoph Hellwig
2014-09-10 15:45 ` Christoph Hellwig
[not found] ` <20140910154535.GA5102-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2014-09-11 10:01 ` Hans de Goede
2014-09-11 10:01 ` Hans de Goede
2014-09-11 16:13 ` Christoph Hellwig
2014-09-12 19:49 ` Hans de Goede
2014-09-12 23:00 ` [PATCH] scsi: fix regression that accidentally disabled block-based tcq Christoph Hellwig
2014-09-13 10:28 ` Hans de Goede
2014-09-13 17:50 ` Christoph Hellwig
2014-09-14 9:41 ` Hans de Goede
2014-09-15 18:47 ` review-ping: " Christoph Hellwig
2014-09-15 19:05 ` Webb Scales
2014-09-15 19:15 ` Hans de Goede
2014-09-15 19:39 ` Jeff Moyer
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=20140909152730.GA17882@infradead.org \
--to=hch@infradead.org \
--cc=hdegoede@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux-usb@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.