The tag allocation is limited by the number of active queues and a queue is marked as inactive by the queue timeout worker after up to 30Hz by default. UFS devices have multiple logical units, and they can limit the depth of data LUNs by the fair tag sharing algorithm. Make the fair tag sharing configurable and improve the performance for UFS devices. See also https://lore.kernel.org/all/20230103195337.158625-1-bvanassche@xxxxxxx Ed Tsai (2): block: make the fair sharing of tag configurable ufs: don't use the fair tag sharings block/blk-mq-debugfs.c | 1 + block/blk-mq-tag.c | 1 + block/blk-mq.c | 3 ++- drivers/ufs/core/ufshcd.c | 3 +++ include/linux/blkdev.h | 6 +++++- 5 files changed, 12 insertions(+), 2 deletions(-) -- 2.18.0