Linux mainline-5.13 uses sbitmap to track the queue depth of SCSI
devices. This patch set backports the mainline patches to OLK-5.10
and fixes some KABI issues.
Tests on scsi_debug show that this method can improve IO performance
by more than 30%.
Kashyap Desai (1):
scsi: megaraid_sas: Replace sdev_busy with local counter
Ming Lei (12):
scsi: sbitmap: Remove sbitmap_clear_bit_unlock
scsi: sbitmap: Maintain allocation round_robin in sbitmap
scsi: sbitmap: Add helpers for updating allocation hint
scsi: sbitmap: Move allocation hint into sbitmap
scsi: sbitmap: Export sbitmap_weight
scsi: sbitmap: Add sbitmap_calculate_shift() helper
scsi: blk-mq: Add callbacks for storing & retrieving budget token
scsi: blk-mq: Return budget token from .get_budget callback
scsi: core: Put hot fields of scsi_host_template in one cacheline
scsi: core: Add scsi_device_busy() wrapper
scsi: core: Make sure sdev->queue_depth is <= max(shost->can_queue,
1024)
scsi: core: Replace sdev->device_busy with sbitmap
Pavel Begunkov (1):
sbitmap: optimise sbitmap_deferred_clear()
Zheng Qixing (2):
sbitmap: fix kabi broken by adding struct sbitmap_extend
sbitmap: fix kabi broken in struct scsi_device
block/blk-mq-sched.c | 17 +-
block/blk-mq.c | 38 ++-
block/blk-mq.h | 25 +-
block/kyber-iosched.c | 3 +-
drivers/message/fusion/mptsas.c | 2 +-
drivers/scsi/megaraid/megaraid_sas.h | 2 +
drivers/scsi/megaraid/megaraid_sas_fusion.c | 47 +++-
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 2 +-
drivers/scsi/scsi.c | 13 ++
drivers/scsi/scsi_lib.c | 71 ++++--
drivers/scsi/scsi_priv.h | 3 +
drivers/scsi/scsi_scan.c | 45 +++-
drivers/scsi/scsi_sysfs.c | 4 +-
drivers/scsi/sg.c | 2 +-
drivers/vhost/scsi.c | 4 +-
include/linux/blk-mq.h | 13 +-
include/linux/sbitmap.h | 91 ++++++--
include/scsi/scsi_cmnd.h | 2 +
include/scsi/scsi_device.h | 13 +-
include/scsi/scsi_host.h | 72 +++---
lib/sbitmap.c | 243 +++++++++++---------
21 files changed, 486 insertions(+), 226 deletions(-)
--
2.39.2