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