Re: [PATCH] sched: Avoid that __wait_on_bit_lock() hangs

From: Bart Van Assche
Date: Thu Aug 04 2016 - 10:32:15 EST


On 08/04/16 07:09, Peter Zijlstra wrote:
But I'd still like to understand where we loose the wakeup. What are you
doing to reproduce this issue?

Hello Peter,

The test I run is as follows:
* Configure the ib_srpt driver to export a RAM disk through the SRP
protocol. The ib_srpt driver is a LIO target driver that implements
the SRP protocol, a SCSI transport protocol.
* On the same system, let the ib_srp (SRP initiator) driver log in
to the ib_srpt driver using the loopback capability of a local
InfiniBand HCA.
* Run fio with data verification enabled on top of multipath (dm-mpath)
with queue_if_no_path enabled and let multipath use the SRP paths.
* Simulate cable pulls and reinserts by periodically writing in the
/sys/class/srp_remote_ports/*/delete and by logging in again. Writing
into the delete attribute triggers scsi_remove_host() and hence also
removal of the block device associated with the SCSI device.

The scripts I use to run this test are available at https://github.com/bvanassche/srp-test. Since the softRoCE driver is not yet upstream running this test requires at least one InfiniBand HCA.

Thanks,

Bart.