Re: [PATCH] scsi: Allow error handling timeout to be specified

Bryn M. Reeves
2013-05-10T13:10:18Z

On 05/10/2013 01:43 PM, Ewan Milne wrote:
> On Thu, 2013-05-09 at 23:11 -0400, Martin K. Petersen wrote:
>> Introduce eh_timeout which can be used for error handling purposes. This
>> was previously hardcoded to 10 seconds in the SCSI error handling
>> code. However, for some fast-fail scenarios it is necessary to be able
>> to tune this as it can take several iterations (bus device, target, bus,
>> controller) before we give up.
>>
>> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
>>
>
> Thanks for posting this. It will be very helpful to have this
> capability, particularly when alternate paths to the device exist.

Ack - this is definitely a step forward but until we have better eh
behaviour for FC the benefits are pretty limited. This is especially the
case with large LU counts and certain LLDDs since some impose much
longer timeouts (e.g. lpfc's 60s TMF timeout).

With 5 LUs presented and a single dd driving IO on lpfc I see a time to
fail an IO of 10-11m when inducing a fabric fault that blackholes all
traffic to a particular target port on my test setup.

Looking at where the time is being spent in this example there's around
200s of TUR waits (3m20) and >500s waiting on TMF timeouts (foreach
device, BDR, foreach target, etc.):

http://paste.fedoraproject.org/11473/81911241/

Environments with 100s of devices can easily spend an hour or more
waiting for the eh to do its thing.

Regards,
Bryn.