Hi Jens, Performance of UFS devices is reduced significantly by the fair tag sharing algorithm. This is because UFS devices have multiple logical units and a limited queue depth (32 for UFS 3.1 devices) and also because it takes time to give tags back after activity on a request queue has stopped. This patch series addresses this issue by introducing a flag that allows block drivers to disable fair sharing. Please consider this patch series for the next merge window. Thanks, Bart. Changes compared to v3: - Instead of disabling fair tag sharing for all block drivers, introduce a flag for disabling it conditionally. Changes between v2 and v3: - Rebased on top of the latest kernel. Changes between v1 and v2: - Restored the tags->active_queues variable and thereby fixed the "uninitialized variable" warning reported by the kernel test robot. Bart Van Assche (3): block: Introduce flag BLK_MQ_F_DISABLE_FAIR_TAG_SHARING scsi: core: Support disabling fair tag sharing scsi: ufs: Disable fair tag sharing block/blk-mq-debugfs.c | 1 + block/blk-mq.h | 3 ++- drivers/scsi/hosts.c | 1 + drivers/scsi/scsi_lib.c | 2 ++ drivers/ufs/core/ufshcd.c | 1 + include/linux/blk-mq.h | 1 + include/scsi/scsi_host.h | 6 ++++++ 7 files changed, 14 insertions(+), 1 deletion(-)