Re: [patch]blk-mq: blk_mq_tag_to_rq should handle flush request

From: Jens Axboe
Date: Wed Jun 04 2014 - 11:02:31 EST


On 2014-06-04 08:58, Christoph Hellwig wrote:
On Wed, Jun 04, 2014 at 08:54:23AM -0600, Jens Axboe wrote:
It's not as simple as the added code wants to get a queue from the
hwctx, which we can't get at. I was planning to look into this, but
there are various other regressions in the recent block updates that I
need to fix before I can even test a tree with this one reverted.

Which regressions? Performance or crashes?

Both. I've tracked down the SCSI boot crash and you'll have a patch for
that soon, still working on bisecting the performance crawl, but I'm
getting close.

OK strange, there hasn't been that much churn since the last rebase. In my for-linus, there's a patch for a single queue crash, but that should just hit for the removal case. And then there's the atomic schedule patch, but that issue was actually in the code base for about a month, so not a new one either.

If you can get to sorting this out soon I'd love you to handle it,
otherwise I'll look into it as soon as I can.

Just took a look at it, but I don't see the problematic path. I'm
looking at wip-9.

scsi_mq_find_tag only gets the scsi host, which may have multiple
queues. When called from scsi_find_tag we actually have a scsi device,
so that's not an issue, but when called from scsi_host_find_tag the
driver only provides the host.

Only solution I see right now is to have the flush_rq in the shared tags, but that would potentially be a regression for multiple devices and heavy flush uses cases. I'll see if I can come up with something better, or maybe Shaohua has an idea.


--
Jens Axboe

--
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/