lkml.org 
[lkml]   [2020]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 068/222] scsi: storvsc: Correctly set number of hardware queues for IDE disk
    Date
    From: Long Li <longli@microsoft.com>

    commit 7b571c19d4c0b78d27dd3bf1f3c42e4032390af6 upstream.

    Commit 0ed881027690 ("scsi: storvsc: setup 1:1 mapping between hardware
    queue and CPU queue") introduced a regression for disks attached to
    IDE. For these disks the host VSP only offers one VMBUS channel. Setting
    multiple queues can overload the VMBUS channel and result in performance
    drop for high queue depth workload on system with large number of CPUs.

    Fix it by leaving the number of hardware queues to 1 (default value) for
    IDE disks.

    Fixes: 0ed881027690 ("scsi: storvsc: setup 1:1 mapping between hardware queue and CPU queue")
    Link: https://lore.kernel.org/r/1578960516-108228-1-git-send-email-longli@linuxonhyperv.com
    Reviewed-by: Ming Lei <ming.lei@redhat.com>
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/scsi/storvsc_drv.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/drivers/scsi/storvsc_drv.c
    +++ b/drivers/scsi/storvsc_drv.c
    @@ -1835,9 +1835,11 @@ static int storvsc_probe(struct hv_devic
    */
    host->sg_tablesize = (stor_device->max_transfer_bytes >> PAGE_SHIFT);
    /*
    + * For non-IDE disks, the host supports multiple channels.
    * Set the number of HW queues we are supporting.
    */
    - host->nr_hw_queues = num_present_cpus();
    + if (!dev_is_ide)
    + host->nr_hw_queues = num_present_cpus();

    /*
    * Set the error handler work queue.

    \
     
     \ /
      Last update: 2020-01-22 14:20    [W:4.024 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site