I still haven't gotten hold of an i915 machine where I could
run the actua ltest suite.

But I did some audit of the code, and it seems blk-mq is lacking
support for the RQF_PM flag.  While I can't directly see how
this would cause the hang your caused it's a least easy to test.

Can you apply the patch below and test with the use_blk_mq=0 parameter?

Note that implementing RQF_PM for blk-mq shouldn't be too hard either,
but if we don't get rid of the nr_pending counter somehow it would
be a severe performance penalty for all scsi devices.
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index bea36adeee17..5c3818ebee9c 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -554,7 +554,7 @@ static struct scsi_driver sd_template = {
                .probe          = sd_probe,
                .remove         = sd_remove,
                .shutdown       = sd_shutdown,
-               .pm             = &sd_pm_ops,
+//             .pm             = &sd_pm_ops,
        .rescan                 = sd_rescan,
        .init_command           = sd_init_command,
@@ -3249,7 +3249,7 @@ static void sd_probe_async(void *data, async_cookie_t 
                gd->events |= DISK_EVENT_MEDIA_CHANGE;
-       blk_pm_runtime_init(sdp->request_queue, dev);
+//     blk_pm_runtime_init(sdp->request_queue, dev);
        device_add_disk(dev, gd);
        if (sdkp->capacity)

Reply via email to