Re: [PATCH RFT] blk-mq: optimize queue tag busy iter for shared_tags

From: John Garry
Date: Wed Dec 22 2021 - 07:34:19 EST


On 22/12/2021 12:06, Kashyap Desai wrote:
But I did not think that my patch would help mpi3mr since it does not use
host_tagset.
Internally we are testing performance check for mpi3mr. We want to make sure
performance is not impacted due to shared host_tagset before we apply the
feature.

Hmmm... I thought that you said previously that it was not necessary for this HW. But I am not familiar with the driver or HW.

As an aside, I assume that this driver uses none IO sched by default, but drivers using host_tagset use mq-deadline – I’m not sure if that is what you want.


We can drop
request of this RFT since I tested above series and it serve the same
purpose.
ok, fine.

And just to confirm, do you now think that we need to fix any older kernel
with some backport of my changes? I think that we would just need to
consider 5.16 (when it becomes stable), 5.15, and and 5.10
It need full patch set (below) + associated fixes.
[1] " blk-mq: Use shared tags for shared sbitmap support" Commit -
e155b0c238b20f0a866f4334d292656665836c8a

Below commit cannot go to stable without [1].
https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?h=for-5.17/block&id=fea9f92f1748083cb82049ed503be30c3d3a9b69

I am not sure if stable requirement fits in this case. I mean large
patch-set is OK ?

The two other patches in the series wouldn't need to be backported, so it should be possible. You would just need a very good reason, though. And we would need to know whether 5.10 and 5.15 are required - they use shared sbitmap. As I mentioned a few times, contention in blk_mq_queue_tag_busy_iter() and callees would not be so high as blk_mq_tags.lock and blk_mq_tags.rqs are not shared there.

Thanks,
John