Messages in this thread |  | | Date | Fri, 6 Sep 2019 16:08:20 -0400 | From | Sasha Levin <> | Subject | Re: [Patch v4] storvsc: setup 1:1 mapping between hardware queue and CPU queue |
| |
On Fri, Sep 06, 2019 at 10:24:20AM -0700, longli@linuxonhyperv.com wrote: >From: Long Li <longli@microsoft.com> > >storvsc doesn't use a dedicated hardware queue for a given CPU queue. When >issuing I/O, it selects returning CPU (hardware queue) dynamically based on >vmbus channel usage across all channels. > >This patch advertises num_present_cpus() as number of hardware queues. This >will have upper layer setup 1:1 mapping between hardware queue and CPU queue >and avoid unnecessary locking when issuing I/O. > >Signed-off-by: Long Li <longli@microsoft.com> >--- > >Changes: >v2: rely on default upper layer function to map queues. (suggested by Ming Lei ><tom.leiming@gmail.com>) >v3: use num_present_cpus() instead of num_online_cpus(). Hyper-v doesn't >support hot-add CPUs. (suggested by Michael Kelley <mikelley@microsoft.com>) >v4: move change logs to after Signed-of-by > > drivers/scsi/storvsc_drv.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > >diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c >index b89269120a2d..cf987712041a 100644 >--- a/drivers/scsi/storvsc_drv.c >+++ b/drivers/scsi/storvsc_drv.c >@@ -1836,8 +1836,7 @@ static int storvsc_probe(struct hv_device *device, > /* > * Set the number of HW queues we are supporting. > */ >- if (stor_device->num_sc != 0) >- host->nr_hw_queues = stor_device->num_sc + 1; >+ host->nr_hw_queues = num_present_cpus();
Just looking at the change notes for v3: why isn't this num_active_cpus() then? One can still isolate CPUs on hyper-v, no?
-- Thanks, Sasha
|  |