mbox series

[v2,0/7] Increase SCSI disk probing concurrency

Message ID 20181017234006.124251-1-bvanassche@acm.org (mailing list archive)
Headers show
Series Increase SCSI disk probing concurrency | expand

Message

Bart Van Assche Oct. 17, 2018, 11:39 p.m. UTC
Hello Martin,

During the 2018 edition of LSF/MM there was a session about increasing SCSI
disk probing concurrency. This patch series implements what has been proposed
during that session, namely:
- Make sure that the driver core is aware of asynchronous SCSI LUN probing.
- Avoid unnecessary serialization between sd_probe() and sd_remove() because
  this could lead to a deadlock.

This patch series makes SCSI LUN probing seven times faster for one particular
test case.

Please consider this patch series for kernel v4.20.

Thanks,

Bart.

Changes compared to v1:
- LUNs are now probed concurrently instead of sequentially.
- Added several patches that fix bugs discovered while testing v1 of this
  patch series.
- Included performance results in patch 6/7.

Bart Van Assche (7):
  drivers/base: Fix a race condition in the device probing code
  drivers/base: Verify struct device locking requirements at runtime
  drivers/base: Probe devices concurrently if requested by the driver
  drivers/base, __device_release_driver(): Do not wait for asynchronous
    probing
  sd: Avoid that hibernation triggers a kernel warning
  sd: Rely on the driver core for asynchronous probing
  sd: Inline sd_probe_part2()

 drivers/base/bus.c         |   3 +-
 drivers/base/dd.c          |  76 ++++++++++++++++++++++++-
 drivers/base/memory.c      |   4 ++
 drivers/scsi/scsi.c        |  14 -----
 drivers/scsi/scsi_lib.c    |  15 ++---
 drivers/scsi/scsi_pm.c     |  22 +-------
 drivers/scsi/scsi_priv.h   |   3 -
 drivers/scsi/sd.c          | 110 +++++++++++++++----------------------
 include/scsi/scsi_device.h |   1 -
 9 files changed, 130 insertions(+), 118 deletions(-)