Hi,

The 1st patch kills the atomic host-wide counter of host_busy.

The 2nd patch bypass the atomic LUN-wide connter of device_busy
for fast SSD device.

V3:
        - use non-atomic set/clear bit operations as suggested by Bart
        - kill single field struct for storing count of in-flight requests
        - add patch to bypass the atomic LUN-wide counter of device_busy
        for fast SSD device

V2:
        - introduce SCMD_STATE_INFLIGHT for getting accurate host busy
        via blk_mq_tagset_busy_iter()
        - verified that original Jens's report[1] is fixed
        - verified that SCSI timeout/abort works fine


Ming Lei (2):
  scsi: core: avoid host-wide host_busy counter for scsi_mq
  scsi: core: don't limit per-LUN queue depth for SSD

 drivers/scsi/hosts.c     | 19 +++++++++++++-
 drivers/scsi/scsi.c      |  2 +-
 drivers/scsi/scsi_lib.c  | 57 +++++++++++++++++++++++-----------------
 drivers/scsi/scsi_priv.h |  2 +-
 include/scsi/scsi_cmnd.h |  1 +
 include/scsi/scsi_host.h |  1 -
 6 files changed, 54 insertions(+), 28 deletions(-)

Cc: Jens Axboe <[email protected]>
Cc: Ewan D. Milne <[email protected]>
Cc: Omar Sandoval <[email protected]>,
Cc: "Martin K. Petersen" <[email protected]>,
Cc: James Bottomley <[email protected]>,
Cc: Christoph Hellwig <[email protected]>,
Cc: Kashyap Desai <[email protected]>
Cc: Hannes Reinecke <[email protected]>
Cc: Laurence Oberman <[email protected]>
Cc: Bart Van Assche <[email protected]>

-- 
2.20.1

Reply via email to