Hi, all Shared tags is introduced to maintains a notion of fairness between active users. This may be good for nvme with multiple namespace to avoid starving some users. Right? However, I don't understand why we introduce the shared tag for SCSI. IMO, there are two concerns for scsi shared tag: 1) For now, 'shost->can_queue' is used as queue depth in block layer. And all target drivers share tags on one host. Then, the max tags for each target can get: depth = max((bt->sb.depth + users - 1) / users, 4U); But, each target driver may have their own capacity of tags and queue depth. Does shared tag limit target device bandwidth? 2) When add new target or remove device, it may need to freeze other device to update hctx->flags of BLK_MQ_F_TAG_SHARED. That may hurt performance. Recently we discuss abort hostwide shared tags for SCSI[0] and sharing tags across hardware queues[1]. These discussion are abort shared tag. But, I confuse whether shared tag across hardware queues can solve my concerns as mentioned. I have not deeply understand for SCSI and please correct me if I got wrong. [0] https://www.spinics.net/lists/linux-scsi/msg136131.html [1] https://www.spinics.net/lists/linux-block/msg47504.html Thanks, Yufen