Re: [PATCH 1/5] Drivers: scsi: storvsc: Make the scsi timeout amodule parameter

From: James Bottomley
Date: Mon Jun 03 2013 - 19:03:12 EST


On Mon, 2013-06-03 at 16:21 -0700, K. Y. Srinivasan wrote:
> The standard scsi timeout is not appropriate in some of the environments where
> Hyper-V is deployed. Set this timeout appropriately for all devices managed
> by this driver. Further make this a module parameter.
>
> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
> Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> ---
> drivers/scsi/storvsc_drv.c | 9 +++++++++
> 1 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
> index 16a3a0c..8d29a95 100644
> --- a/drivers/scsi/storvsc_drv.c
> +++ b/drivers/scsi/storvsc_drv.c
> @@ -221,6 +221,13 @@ static int storvsc_ringbuffer_size = (20 * PAGE_SIZE);
> module_param(storvsc_ringbuffer_size, int, S_IRUGO);
> MODULE_PARM_DESC(storvsc_ringbuffer_size, "Ring buffer size (bytes)");
>
> +/*
> + * Timeout in seconds for all devices managed by this driver.
> + */
> +static int storvsc_timeout = 180;
> +module_param(storvsc_timeout, uint, (S_IRUGO | S_IWUSR));
> +MODULE_PARM_DESC(storvsc_timeout, "Device timeout (seconds)");
> +
> #define STORVSC_MAX_IO_REQUESTS 128
>
> /*
> @@ -1204,6 +1211,8 @@ static int storvsc_device_configure(struct scsi_device *sdevice)
>
> blk_queue_bounce_limit(sdevice->request_queue, BLK_BOUNCE_ANY);
>
> + blk_queue_rq_timeout(sdevice->request_queue, (storvsc_timeout * HZ));

Why does this need to be a module parameter? It's already a sysfs one
in the scsi_device class? Three minutes is also a bit large. The
default is 30s with huge cache arrays recommending upping this to
60s ... you're three times this.

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/