On 03/21/2017 02:05 PM, James Bottomley wrote: > On Tue, 2017-03-21 at 13:14 +0100, Hannes Reinecke wrote: >> With the current design we're waiting for all async probes to >> finish when removing any sd device. >> This might lead to a livelock where the 'remove' call is blocking >> for any probe calls to finish, and the probe calls are waiting for >> a response, which will never be processes as the thread handling >> the responses is waiting for the remove call to finish. >> Which is completely pointless as we only _really_ care for the >> probe on _this_ device to be completed; any other probing can >> happily continue for all we care. >> So save the async probing cookie in the structure and only wait >> if this specific probe is still active. > > How does this preserve ordering? It looks like you have one cookie per > sdkp ... is there some sort of ordering guarantee I'm not seeing? > Do we need one? The only thing we care here is that probing for _this_ device has finished. Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@xxxxxxx +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)