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(-)
--
2.19.1.568.g152ad8e336-goog