[PATCH 0/6] scsi: support bypass device busy check for some high end HBA with SSD

Ming Lei
2020-01-19T07:14:57Z

Hi,

SCSI's per-LUN queue depth is usually for improving IO merge and
balancing IO load among LUNs. blk-mq has provides fair driver tag
allocation and managed IRQ balances interrupt load among queues,
meantime IO merge doesn't play a big role for SSD, and NVMe doesn't
apply per-namespace queue depth.

This patchset tries to don't apply per-LUN queue depth for some high end
HBA in case of SSD, then we can avoid the expensive atomic operation on
sdev->device_busy. We do understand that this shared counter affects IOPS
a lot.

Thanks,
Ming

Ming Lei (6):
scsi: mpt3sas: don't use .device_busy in device reset routine
scsi: remove .for_blk_mq
scsi: sd: register request queue after sd_revalidate_disk is done
block: freeze queue for updating QUEUE_FLAG_NONROT
scsi: core: don't limit per-LUN queue depth for SSD when HBA needs
scsi: megaraid: set flag of no_device_queue_for_ssd

block/blk-sysfs.c | 14 +++++++++-
drivers/scsi/megaraid/megaraid_sas_base.c | 1 +
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 32 ++++++++++++++++++++-
drivers/scsi/scsi_lib.c | 34 +++++++++++++++++++----
drivers/scsi/sd.c | 7 ++++-
drivers/scsi/virtio_scsi.c | 1 -
include/scsi/scsi_host.h | 4 +--
7 files changed, 81 insertions(+), 12 deletions(-)

Cc: Sathya Prakash <sathya.prakash@broadcom.com>
Cc: Chaitra P B <chaitra.basappa@broadcom.com>
Cc: Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>
Cc: Kashyap Desai <kashyap.desai@broadcom.com>
Cc: Sumit Saxena <sumit.saxena@broadcom.com>
Cc: Shivasharan S <shivasharan.srikanteshwara@broadcom.com>
Cc: Ewan D. Milne <emilne@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Bart Van Assche <bart.vanassche@wdc.com>
--
2.20.1