Re: [PATCH] scsi: megaraid_sas - throttle io if cmds are in riskof being timed-out

From: James Bottomley
Date: Fri Mar 16 2007 - 18:23:55 EST


On Thu, 2007-03-01 at 13:29 -0800, Sumant Patro wrote:
> Driver to throttle IO to reduce risk of OS timing out cmds.
>
> Implemented a circular queue to keep track of pending OS cmds in FW.
> This queue is periodically (every 10 sec) checked by a timer routine.
> If there is any cmd that is in risk of getting timed-out by the OS,
> the host->can_queue is reduced to 16 and MEGASAS_FW_BUSY flag is set.
> The host->can_queue will be restored to default value when the following
> two conditions are met : 5 secs has elapsed and the # of outstanding cmds
> in FW is less than 17.
> Also increased the per cmd timeout to 120*HZ from 90*HZ.

OK, this is still not nice. What you need to be doing is intercepting
the timeout before it fires (and quiesces the machine). Currently the
eh_timed_out() callback is only exposed to transport classes, I'll put
it back into the host template and then you can use it.

James


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/