Hi all, Here is v6 of the patchset. In this version of the series, we keep the shared sbitmap for driver tags, but omit the shared scheduler tags for now - I did not think that this was an essential feature and the premise was somewhat in doubt. Comments welcome, thanks! A copy of the patches can be found here: https://github.com/hisilicon/kernel-dev/tree/private-topic-blk-mq-shared-tags-rfc-v6-upstream Differences to v5: - For now, drop the shared scheduler tags - Fix megaraid SAS queue selection and rebase - Omit minor unused arguments patch, which has now been merged - Add separate patch to introduce sbitmap pointer - Fixed hctx_tags_bitmap_show() for shared sbitmap - Various tidying Differences to v4: - Rework scheduler tag allocations - Revert back to the original implementation from John Differences to v3: - Include reviews from Ming Lei Differences to v2: - Drop embedded tag bitmaps - Do not share scheduling tags - Add patches for hpsa and smartpqi Differences to v1: - Use a shared sbitmap, and not a separate shared tags (a big change!) - Drop request.shared_tag - Add RB tags Hannes Reinecke (5): blk-mq: rename blk_mq_update_tag_set_depth() scsi: Add template flag 'host_tagset' megaraid_sas: switch fusion adapters to MQ smartpqi: enable host tagset hpsa: enable host_tagset and switch to MQ John Garry (4): blk-mq: Use pointers for blk_mq_tags bitmap tags blk-mq: Facilitate a shared sbitmap per tagset blk-mq: Add support in hctx_tags_bitmap_show() for a shared sbitmap scsi: hisi_sas: Switch v3 hw to MQ Ming Lei (1): blk-mq: rename BLK_MQ_F_TAG_SHARED as BLK_MQ_F_TAG_QUEUE_SHARED block/bfq-iosched.c | 4 +- block/blk-mq-debugfs.c | 65 ++++++++++++-- block/blk-mq-tag.c | 97 ++++++++++++++------- block/blk-mq-tag.h | 21 +++-- block/blk-mq.c | 60 +++++++++---- block/blk-mq.h | 5 ++ block/kyber-iosched.c | 4 +- drivers/scsi/hisi_sas/hisi_sas.h | 3 +- drivers/scsi/hisi_sas/hisi_sas_main.c | 36 ++++---- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 87 ++++++++---------- drivers/scsi/hpsa.c | 44 ++-------- drivers/scsi/hpsa.h | 1 - drivers/scsi/megaraid/megaraid_sas.h | 1 - drivers/scsi/megaraid/megaraid_sas_base.c | 59 ++++--------- drivers/scsi/megaraid/megaraid_sas_fusion.c | 24 ++--- drivers/scsi/scsi_lib.c | 2 + drivers/scsi/smartpqi/smartpqi_init.c | 38 +++++--- include/linux/blk-mq.h | 5 +- include/scsi/scsi_host.h | 3 + 19 files changed, 325 insertions(+), 234 deletions(-) -- 2.17.1