RE: [PATCH] storvsc: use small sg_tablesize on x86

From: KY Srinivasan
Date: Thu Oct 01 2015 - 16:30:30 EST




> -----Original Message-----
> From: Olaf Hering [mailto:olaf@xxxxxxxxx]
> Sent: Tuesday, September 8, 2015 3:07 AM
> To: KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang Zhang
> <haiyangz@xxxxxxxxxxxxx>; JBottomley@xxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx; Olaf Hering
> <olaf@xxxxxxxxx>
> Subject: [PATCH] storvsc: use small sg_tablesize on x86
>
> Reducing the sg_tablesize allows booting of 32bit kernels in VMs, after
> commit be0cf6ca301c61458dc4aa1a37acf4f58d2ed3d6 ("scsi: storvsc: Set the
> tablesize based on the information given by the host")
>
> [ 5.567138] hv_storvsc vmbus_1: adjusting sg_tablesize 0x800 -> 0x20
>
> Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
> ---
> drivers/scsi/storvsc_drv.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
> index 40c43ae..36bf183 100644
> --- a/drivers/scsi/storvsc_drv.c
> +++ b/drivers/scsi/storvsc_drv.c
> @@ -1907,6 +1907,11 @@ static int storvsc_probe(struct hv_device *device,
> * from the host.
> */
> host->sg_tablesize = (stor_device->max_transfer_bytes >>
> PAGE_SHIFT);
> +#if defined(CONFIG_X86_32)
> + dev_warn(&device->device, "adjusting sg_tablesize 0x%x -> 0x%x",
> + host->sg_tablesize,
> MAX_MULTIPAGE_BUFFER_COUNT);
> + host->sg_tablesize = MAX_MULTIPAGE_BUFFER_COUNT;
> +#endif
>
> /* Register the HBA and start the scsi bus scan */
> ret = scsi_add_host(host, &device->device);
--
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/