> -----Original Message----- > From: Michael Kelley <mikelley@xxxxxxxxxxxxx> > Sent: Saturday, June 15, 2019 11:19 AM > To: brandonbonaby94 <brandonbonaby94@xxxxxxxxx>; KY Srinivasan > <kys@xxxxxxxxxxxxx>; Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; Stephen > Hemminger <sthemmin@xxxxxxxxxxxxx>; sashal@xxxxxxxxxx; > jejb@xxxxxxxxxxxxx; martin.petersen@xxxxxxxxxx > Cc: brandonbonaby94 <brandonbonaby94@xxxxxxxxx>; linux- > hyperv@xxxxxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx > Subject: RE: [PATCH] scsi: storvsc: Add ability to change scsi queue depth > > From: Branden Bonaby <brandonbonaby94@xxxxxxxxx> Sent: Friday, June > 14, 2019 4:48 PM > > > > Adding functionality to allow the SCSI queue depth to be changed, > > by utilizing the "scsi_change_queue_depth" function. > > > > Signed-off-by: Branden Bonaby <brandonbonaby94@xxxxxxxxx> > > --- > > drivers/scsi/storvsc_drv.c | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c > > index 8472de1007ff..719ca9906fc2 100644 > > --- a/drivers/scsi/storvsc_drv.c > > +++ b/drivers/scsi/storvsc_drv.c > > @@ -387,6 +387,7 @@ enum storvsc_request_type { > > > > static int storvsc_ringbuffer_size = (128 * 1024); > > static u32 max_outstanding_req_per_channel; > > +static int storvsc_change_queue_depth(struct scsi_device *sdev, int > queue_depth); > > > > static int storvsc_vcpus_per_sub_channel = 4; > > > > @@ -1711,6 +1712,7 @@ static struct scsi_host_template scsi_driver = { > > .dma_boundary = PAGE_SIZE-1, > > .no_write_same = 1, > > .track_queue_depth = 1, > > + .change_queue_depth = storvsc_change_queue_depth, > > }; > > > > enum { > > @@ -1917,6 +1919,15 @@ static int storvsc_probe(struct hv_device > *device, > > return ret; > > } > > > > +/* Change a scsi target's queue depth */ > > +static int storvsc_change_queue_depth(struct scsi_device *sdev, int > queue_depth) > > +{ > > + if (queue_depth > scsi_driver.can_queue){ > > + queue_depth = scsi_driver.can_queue; > > + } > > + return scsi_change_queue_depth(sdev, queue_depth); > > +} > > + > > static int storvsc_remove(struct hv_device *dev) > > { > > struct storvsc_device *stor_device = hv_get_drvdata(dev); > > -- > > 2.17.1 > > Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>