Re: [REGRESSION 3.17] scsi (uas) disks no longer using tagged command queuing

From: Christoph Hellwig
Date: Wed Sep 10 2014 - 11:45:42 EST


On Wed, Sep 10, 2014 at 09:21:24AM +0200, Hans de Goede wrote:
> I've applied the patch, this results in the following new dmesg output
> when using uas:
>
> [ 120.602632] initialized host-wide tag map!
>
> Thank you for looking into this.

So we're initializing the tag map, but scsi_activate_tcq doesn't pick it
up. I can't really come up with a good explanation for it, but there
even without that there is an elephant in the room: as part of the
scsi-mq series I moved the bqt field used for this into a union with the
new blk_mq_tag_set. Below is a patch to get rid of that union, can you
try if that fixes it?


diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h
index d0f69a3..bcffff2 100644
--- a/include/scsi/scsi_host.h
+++ b/include/scsi/scsi_host.h
@@ -584,10 +584,8 @@ struct Scsi_Host {
* Area to keep a shared tag map (if needed, will be
* NULL if not).
*/
- union {
- struct blk_queue_tag *bqt;
- struct blk_mq_tag_set tag_set;
- };
+ struct blk_queue_tag *bqt;
+ struct blk_mq_tag_set tag_set;

atomic_t host_busy; /* commands actually active on low-level */
atomic_t host_blocked;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/